我想判断一个字符串是否包含在<a></a>之间
请问怎么写呀

解决方案 »

  1.   

    /<a[^>]*>([^<]*)<\/a>/i
      

  2.   

    楼上的朋友,能详细点么.我中间有字符串参数
    比如<A > 字符串 </a>
    判断这个字符串是否在里边
      

  3.   

    preg_match_all("/<a[^>]*>(.*?)<\/a>/i", $str, $matches);
    $matches[1]为<a ></a>标签中匹配的数据,然后再遍历检查.
      

  4.   

    preg_match_all("/<a[^>]*>(.*?)<\/a>/i", $str, $matches);
    $str中会存在多个<a>字符串</a>这样的匹配.请问能实现吗
    我要实现的主要功能就是:
    加如文章关键字连接:
    比如:csdn  他的关键字连接就是http://www.csdn.net
    文章中如果出现csdn的地方就全部自动加上关键字.但是如果<a href="#">csdn你好</a>这种情况下,存在有连接的地方就跳过,不加,这个问题捆饶我很久了,麻烦大家帮帮忙呀~
      

  5.   


    这个就不麻烦了 帮你顶 期待高人正解ing.....
      

  6.   

    直接先将有链接<a href="#">csdn你好 </a>的替换为csdn,
    然后再将所有的csdn替换成<a href="#">csdn你好 </a>
      

  7.   

    这个有点麻烦..试下这个.
    $str = 'csdnaaa<a>csdnbbb</a>csdnccc<a>csdnddd</a>csdneee';
    echo "替换前:".htmlspecialchars($str)."<br/>";
    $key = "csdn";
    $str2 = preg_replace("/({$key}[^>]*)<a>|<\/a[^>]*>([^<]*".$key."[^<]*)<a>|<\/a>([^<]*".$key.".*)$/ie","str_replace('".$key."','<a>".$key."</a>','\\0')",$str);
    echo "替换后:".htmlspecialchars($str2);
      

  8.   

    直接写成<a>了,应该<a[^>]*>
    $str2 = preg_replace("/({$key}[^>]*)<a[^>]*>|<\/a[^>]*>([^<]*".$key."[^<]*)<a[^>]*>|<\/a>([^<]*".$key.".*)$/ie","str_replace('".$key."','<a>".$key."</a>','\\0')",$str);