如下内容
这个数字想必让很多妈妈们都无比惊讶。<a href="http://www.csdn.com" target="_blank"-]-<span style="color: #ff0000">快来看<a href='http://www.jianfei.com' target='_blank'><u>看看</u></a>秘诀&gt;&gt;&gt;</span>-[-/a></p><br>
来了<a href='http://www.jianfei.com' target='_blank'><u>看看</u></a>吗
这个数字想必让很多妈妈们都无比惊讶。<a href="http://www.csdn.com" target="_blank"-]-快来看<a href='http://www.jianfei.com' target='_blank'><u>看看</u></a>秘诀&gt;&gt;&gt;-[-/a></p><br>-----------------------------------------------
我要去掉
-]- 中间的链接文字保留 -[-/a>
------------------------------------------
如下结果这个数字<a href="http://www.csdn.com" target="_blank"-]-<span style="color: #ff0000">快来看看看秘诀&gt;&gt;&gt;</span>-[-/a></p><br>
来了<a href='http://www.jianfei.com' target='_blank'><u>看看</u></a>吗
这个数字。<a href="http://www.csdn.com" target="_blank"-]-快来看看看秘诀&gt;&gt;&gt;-[-/a></p><br>

解决方案 »

  1.   

    楼主确定<a href="http://www.csdn.com" target="_blank"-]-<span style="color: #ff0000">快来看<a href='http://www.jianfei.com' target='_blank'><u>看看</u></a>秘诀&gt;&gt;&gt;</span>-[-/a>
    能在页面正常显示吗?你的a标签本身就有问题。
    但如果只想替换字符的话:$txt = "<a href='http://www.csdn.com' target='_blank'-]-<span style='color: #ff0000'>快来看<a href='http://www.jianfei.com' target='_blank'><u>看看</u></a>秘诀&gt;&gt;&gt;</span>-[-/a>";
    $new = str_replace("-]-","",$txt);
    $res = str_replace("-[-","",$new);
    echo $res;
    #<a href='http://www.csdn.com' target='_blank'<span style='color: #ff0000'>快来看<a href='http://www.jianfei.com' target='_blank'><u>看看</u></a>秘诀&gt;&gt;&gt;</span>/a>
      

  2.   

     谢谢主上回答!不要离开话题我要去掉
    -]- 中间的链接文字保留 -[-/a>
    ------------------------------------------
    如下结果这个数字<a href="http://www.csdn.com" target="_blank"-]-<span style="color: #ff0000">快来看看看秘诀&gt;&gt;&gt;</span>-[-/a></p><br>
    来了<a href='http://www.jianfei.com' target='_blank'><u>看看</u></a>吗
    这个数字。<a href="http://www.csdn.com" target="_blank"-]-快来看看看秘诀&gt;&gt;&gt;-[-/a></p><br>
      

  3.   


    $result = preg_replace('/<a[^>]*-\]-.+-\[-\/a>/','',$content);
    $result = preg_replace('/<a[^>]*>.+<\/a>/','',$result);
    echo $result;
      

  4.   


    如果你是想去掉<a .... -]- ...-[-/a>,而保留<a .../>...</a>的话
    $result = preg_replace('/<a[^>]*-\]-.+-\[-\/a>/','',$content);
    echo $result;
      

  5.   

    感谢martin_guo热心回答 和各位的回答对 martin_guo 测试 链接全没了qq120848369 我说简单点吧
    如下
    <a href="http://www.csdn.com" target="_blank"-]-快来看<a href='http://www.a.com'><u>看看</u></a>-[-/a></p><br>
    里面的
    -]-快来看<a href='http://www.a.com'><u>看看</u></a>-[-
    链接去掉文字保留
    如下结果
    <a href="http://www.csdn.com" target="_blank"-]-快来看看看-[-/a></p><br>我要去掉
    -]- 中间的链接文字保留 -[-/a>
    不知道我这样表达明白了没有
      

  6.   

    $s = <<< TXT
    <a href="http://www.csdn.com" target="_blank"-]-快来看<a href='http://www.a.com'><u>看看</u></a>-[-/a></p><br>
    TXT;
    echo preg_replace('/(?:-\]-)(.+)(?:-\[-)/e', 'strip_tags("$0")', $s); a href="http://www.csdn.com" target="_blank"-]-快来看看看-[-/a></p><br>