大家好,小弟刚开始学PHP,有个正则把我难住了,特向大家请教。
问题如下:
<eyou:to_digest>abcdef</eyou:to_digest>
怎么用正则将中间的abcdef替换掉,最后变成<eyou:to_digest></eyou:to_digest>这样呢?

解决方案 »

  1.   

    正则可以这样写 试试   "(>[aA-zZ]+<)" 替换成 "><"
      

  2.   


    $str = '<eyou:to_digest>abcdef</eyou:to_digest>';
    $str = preg_replace('/>(\w+)</', '><', $str);
    echo htmlspecialchars($str);
    /**
    输出结果:
    <eyou:to_digest></eyou:to_digest>
    */
      

  3.   

    <?php
    $string = '<eyou:to_digest>abcdef</eyou:to_digest>';
    $pattern = '(abcdef)';
    $replacement = '${1}';
    echo preg_replace($pattern, $replacement, $string);
    ?>
    运行结果
    <html>
    <head></head>
    <body>
    <eyou:to_digest></eyou:to_digest>
    </body>
    </html>