str_replace("Yahoo", "<b><u>Yahoo</u></b>", $str);

join("<b><u>Yahoo</u></b>", explode("Yahoo", $str) );

解决方案 »

  1.   

    我想找个通用的啊,如果字符串是 
    "<a href=\"http://www.Yahoo.com\">Yahoo</a>主页";
    按照上面的方法,结果肯定是
    "<a href=\"http://www.<b><u>Yahoo</u></b>.com\"><b><u>Yahoo</u></b></a>主页";
    那链接就乱了
    我的目标是尽量不影响HTML标记,如<a> <img>等,或者只要<>里的东西就行
      

  2.   

    <?php
    $text =<<< TEXT
    <a href="http://www.yahoo.com">Yahoo</a>主页
    <a href="http://www.yahoo.com">Yahoo</a>主页
    <a href="http://www.yahoo.com">Yahoo</a>主页
    <a href="http://www.yahoo.com">Yahoo</a>主页
    TEXT;$word = 'yahoo';echo preg_replace("/(.+>.*)($word)(.*<.+)/i","$1<b>$2</b>$3",$text);
    ?>
      

  3.   

    xuzuning(唠叨)的程序能实现加亮"Yahoo",但不能加亮"主页"……
      

  4.   

    echo preg_replace("/(.+>[^<]*|^)($word)($|[^>]*<.+)/isU","$1<b>$2</b>$3",$text);
      

  5.   

    To: ice_berg16(寻梦的稻草人)
    程序能对"<a href=\"http://www.Yahoo.com\">Yahoo</a>主页";中的
    “主页”或者“页”加亮,但不能加亮“主”单个字……
    http://yy1984.sys1.co.uk/test.php
    这是我的测试页面
      

  6.   

    echo preg_replace("/(.+>|^)([^<]*)($word)([^>]*)($|<.+)/isU","$1$2<b>$3</b>$4$5",$text);
    这回应该可以了