Кинотавр
Новичок
Регулярное выражение - поиск ключевых слов в тексте и создание из них ссылок
Всех приветствую.
Есть такая задача. Имеется текст, в котором на лету определенные ключевые слова должны превращаться в ссылки.
К примеру, есть массив слов "губы", "губам", "губ". Я этот массив превращаю в элемент регулярного выражения, представленного ниже.
Здесь у меня оформляются в виде ссылок все те вхождения, которые не являются частью других слов. То есть, в слове "Губернский" ничего ссылкой не становится.
Но возникла такая проблема. В ссылку попадают предыдущий и последующий символы нужного нам вхождения. То есть, пробел или запятая. А надо, чтобы ссылкой становилось только ключевое слово.
Прошу помочь.
Спасибо.
Всех приветствую.
Есть такая задача. Имеется текст, в котором на лету определенные ключевые слова должны превращаться в ссылки.
К примеру, есть массив слов "губы", "губам", "губ". Я этот массив превращаю в элемент регулярного выражения, представленного ниже.
PHP:
<?
$s = "<H1>Весь этот блеск</H1><P>Некоторые ошибочно полагают, что мужчина, прежде всего, обращает внимание на глаза! По статистике, первое, на что он смотрит на нашем лице – это Губы. Мы в редакции протестировали блеск L’Oreal Глам Шайн 6 Часов, который призван сделать губы привлекательными, объемными и сияющими.</P><P>Инновационная технология, разработанная лабораториями L’OREAL – использование единственно возможной формулы, которая дает возможность создать пленкообразующий полимер, который противостоит прикосновениям (большая стойкость, даже во время еды) и который, в то же время, обладает очень мягкой текстурой (еще больший комфорт ваших губ).</P><P><STRONG>Наши выводы:</STRONG> если подставить лицо к весеннему солнцу, то губы, накрашенные блеском Глам Шайн, выглядят как будто с картинки. Дополнительный объем виден сразу после нанесения. Кстати, о нанесении, у блеска необычный аппликатор, который очень легко скользит по губам, специально для аккуратистов. Но что подкупило нас окончательно: блеск держится очень долго. Он держится после еды, после питья – точное время не засекали, но все в один голос твердили, что долго, а это для блесков редкость.</P><P><STRONG>Результат:</STRONG> действительно сияющее, мягкое и стойкое покрытие, глянцевая, равномерная поверхность губ и гарантированно долгая стойкость.</P><P>Губернский вестник</P>";
echo (preg_replace("/[^0-9a-zA-Zа-яА-ЯЁё](губы|губам|губ)[^0-9a-zA-Zа-яА-ЯЁё]/i","<a href=\"#\">\\0</a>",$s));
?>
Но возникла такая проблема. В ссылку попадают предыдущий и последующий символы нужного нам вхождения. То есть, пробел или запятая. А надо, чтобы ссылкой становилось только ключевое слово.
Прошу помочь.
Спасибо.
