能不能匹配 再放回去、
<a href="www.baidu.com">百度一下</a>
<a href="index.php?xxxx">首页</a>
<a href="list.php?xxxxxx">11111</a>
<a href="view.php?xxxx">222222</a>效果这样 把href="xxxxx" 用 base64_encode 加密<a href="d3d3LmJhaWR1LmNvbQ==">百度一下</a>
<a href="aW5kZXgucGhwP3h4eHg=">首页</a>
<a href="bGlzdC5waHA/eHh4eHh4">11111</a>
<a href="dmlldy5waHA/eHh4eA==">222222</a>

解决方案 »

  1.   


    $str = <<<HTML
    <a href="www.baidu.com">百度一下</a>
    <a href="index.php?xxxx">首页</a>
    <a href="list.php?xxxxxx">11111</a>
    <a href="view.php?xxxx">222222</a>
    HTML;
    $res = preg_replace('/"(.*?)"/es', 'base64_encode("\\1")', $str);
    echo $res;
    //凌晨五点就不要等了,没人
      

  2.   

    <?php
    $str = <<<HTML
    <a href="www.baidu.com">百度一下</a>
    <a href="index.php?xxxx">首页</a>
    <a href="list.php?xxxxxx">11111</a>
    <a href="view.php?xxxx">222222</a>
    HTML;
    $res = preg_replace('/"([^"]*?)"/es', 'base64_encode("$1")', $str);
    echo $res;
      

  3.   

    是把<a href="www.baidu.com">中的 www.baidu.com   base64-decode还是  href="www.baidu.com" base64-decode???
      

  4.   


    $res = preg_replace('/"(.*?)"/e', '"\"".base64_encode("\\1")."\""', $str);//结果中都忘了加回双引号了,参照LZ的答案,encode目标是www.baidu.com
      

  5.   

    有没有办法只匹配
    <a href="里面的内容">
    如果匹配"" 所有""的全部都加密了!
      

  6.   

    $res = preg_replace('/<a href="(.*?)"/e', "".'"<a href=\"".base64_encode("\\1")."\""', $str);弄好了!