|
|
|
| Всем привет.
Весь вечер мучаюсь! Надо сделать замену слова, на ссылку. Но целиком.
хотел сделать через str_replace, но по ходу он не позволяет такого. Пришлось делать через preg.
Вот что получилось:
//$search[] - Массив искомых слов
//$replace[] - массив с заменами.
$search[] = '#([^A-z])('.$array['title'].')([^A-z])#isU';
$replace[] = '$1<a href="/'.$array['id'].'.html">'.$array['title'].'</a>$3';
// и потом
preg_replace($search, $replace, $content);
|
Проблема была с тем что он заменял слова даже на половине, либо не заменял. Сейчас он, вроде бы, работает верно. Но вот не понимаю как разрешить все символы до и после? Или нужно чётко их перечислять? | |
|
|
|
|
|
|
|
для: Diablo_
(11.03.2012 в 00:11)
| | Есть полезная штука, граница слова \b, попробуйте её
$search[] = '#\b('.$array['title'].')\b#isU';
|
| |
|
|
|
|
|
|
|
для: cheops
(11.03.2012 в 00:14)
| | Супер! Спасибо! А у меня, что-то не получалось! То последние символы удалял, то и перед и после.... | |
|
|
|