найти часть слова, а затем заменить все слово строкой - PullRequest
1 голос
/ 26 февраля 2010

так что если у меня есть текст:

"это будет действительно здорово"

а у меня игла "гой"

Я хочу, чтобы он нашел собирается и затем заменил его ссылкой

<a href="http://wwww.something.com/going">going</a>

можешь мне помочь? я очень плохо в регулярных выражениях

Ответы [ 3 ]

5 голосов
/ 26 февраля 2010

Вы можете использовать следующее регулярное выражение для подбора вашей частичной иглы и остального слова вокруг нее:

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

затем передайте это preg_replace:

$newtext = preg_replace($regex, '<a href="http://www.something.com/$0">$0</a>', $oldtext);
0 голосов
/ 26 февраля 2010
$str = preg_replace('/(\bgoi\w*)/', 
           '<a href="http://www.something.com/$1">$1</a>', $str)

\b для границы слова - без этого она будет соответствовать going в ongoing

0 голосов
/ 26 февраля 2010
$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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...