http://topic.csdn.net/u/20100723/11/44cf0267-cae0-4752-9e80-d5f955741274.html这里的朋友,回复了,但是为什么放在php里没有效果呢,有工具可以匹配。我的php代码:$text=str_replace("<IMG(?![^>]+/>)[^>]*>","",$text);
$text=str_replace("<img(?![^>]+/>)[^>]*>","",$text);php的正则与.net的是一样的吗?

解决方案 »

  1.   

    str_replace是字符替换,preg_replace才是正则
      

  2.   

    试试这个?
    $text = preg_replace('#<IMG(?![^>]+/>)[^>]*>#', '', $text);
    $text = preg_replace('#<img(?![^>]+/>)[^>]*>#', '', $text);
    PHP里面正则表达式的形式是:
    定界字符 + 正则正文 + 定界字符 + 修饰符定界字符是为了分隔正文与修饰符的,可以自己选(此字符尽量不要在正文中,否则涉及转义)。
    我在这里选了“#”。修饰符有什么用呢?常见的一个修饰符i,意思是匹配时不区分大小写;
    另一个修饰符m,意思是采用多行模式。我在这里没有用修饰符。所以正则看起来就是在你原来的正则两边各加一个#