preg_replace文本突出显示以忽略URL

时间:2012-08-23 09:05:46

标签: php preg-replace

我使用preg_replace突出显示搜索结果中的字词。搜索结果有时也包含URL,而不仅仅是文本。一些网址包含关键字。然后,由于preg_replace也会更改URL,因此网址会搞乱。

有没有办法忽略preg_replace中的URL?

这就是我使用的:

$result = preg_replace('!('.$keyword.')!i', '<span style="background: #f00;">$1</span>', $result);

谢谢你!

1 个答案:

答案 0 :(得分:1)

编辑..
好吧,这有用吗? 将结果作为数组,然后检查它是否包含url?

 <?php
    $result = "This is Stpartāāa http://google.lv ";
    $arr = explode(" ", $result);
    foreach($arr as $key => $value) {
        if ((strpos($value,'http://') !== false) AND (strpos($value,'www.') !== false)) {
                // do nothing
            } else {
                // do somthing
            }
    }
    ?>