找到一个单词的一部分,然后用字符串替换整个单词

时间:2010-02-26 11:12:10

标签: php regex

所以,如果我有文字:

“这真的很棒”

我有针“goi”

我希望它找到,然后用链接

替换它
<a href="http://wwww.something.com/going">going</a>
你可以帮帮我吗?我在正则表达式中非常糟糕

3 个答案:

答案 0 :(得分:5)

您可以使用以下正则表达式来匹配您的部分针以及其周围的其余部分:

$regex = '\b\w*' . $needle . '\w*\b';

然后将其传递给preg_replace

$newtext = preg_replace($regex, '<a href="http://www.something.com/$0">$0</a>', $oldtext);

答案 1 :(得分:0)

$str = "this is going to be really great";
$s = explode(" ", $str);
foreach ($s as $k=>$v)
{
    if (strpos($v,"goi") !== FALSE)
    {
        $s[$k]= '<a href="http://wwww.something.com/' . $v . '">' . $v . "</a>";
    }
}
print_r(implode(" ", $s));

答案 2 :(得分:0)

$str = preg_replace('/(\bgoi\w*)/', 
           '<a href="http://www.something.com/$1">$1</a>', $str)

\b用于字边界 - 如果没有这个,它将匹配going中的ongoing