我想过滤连接,但是把连接中间的文字部分留下,如果遇到连接的域名包含jbcda的时候,此连接为有效连接,不过滤。 正则怎么写?我现在写的是能过滤所有连接,留下
 $bbcode_search = array(
 '/\<a(.*?)\>(.*?)\<\/a\>/is'
 );
$bbcode_replace = array(
'$2');
$text="你发地方艰苦的<a href='http://www.sohu.com'>好就放开对方</a> <br> <a href='http://www.sina.com'>看到妹妹了</a> 进口发动机分开 <br>  <a href='http://www.jbcda.com'>哈哈连接</a> 哈哈连接";
$text = preg_replace($bbcode_search, $bbcode_replace, $text);
echo $text;这种可以把连接有效的文字部分留下,把连接过滤掉。 但是我想把含有<a href='http://www.jbcda.com'>哈哈连接</a> 都留下, 其他的连接过滤掉,留下文字部分,请教高人怎么写
积分有限,谢谢帮助先

解决方案 »

  1.   

    借这个帖子一用我遇到个事儿,以前从来没遇到过的:我echo $aaa;    $aaa这个变量是不存在的,就报错了:Notice: Undefined variable: aaa in F:\...\index.php on line 18郁闷了,以前这样输出不存在的变量,就不会报错
      

  2.   

    唔,一样的,在index.php中,我只写了一行代码:echo $aaa;报错Notice: Undefined variable: aaa in F:\AMP\htdocs\xiao\webroot\index.php on line 3
      

  3.   

    $text="你发地方艰苦的<a href='http://www.sohu.com'>好就放开对方</a> <br> <a href='http://www.sina.com'>看到妹妹了</a> 进口发动机分开 <br> <a href='http://www.jbcda.com'>哈哈连接</a> 哈哈连接";$p = "#<a.+?http://(?!www\.jbcda\.com).+?>(.+?)</a>#is";
    //或
    $p = "#<a.+?www\.(?!jbcda).+?>(.+?)</a>#is";
    echo preg_replace($p, '$1', $text);