пните плиз. заменяю при выводе страницы втречающиеся в глоссарии термины на
<a href="url">термин</a> , но если в тексте встречаются ссылки и названии ссылки встречается термин, как например тут:
<a href="url">текст термин текст</a>
то preg_replace заменяет термин в названии ссылки тоже и весь код страницы портиться. как ограничить preg_replace чтобы он не трогал термины внутри названий уже существующих ссылок.
текущий код замены:
PHP |
$glossary['str'] = "(\b|\B)".$glossary['str']."(\b)"; $row['full_story'] = preg_replace("'".$glossary['str']."'i", "<a href=\"".$glossary_link."\">".$glossary['str']."</a>", $row['full_story']); |
пробую так:
PHP |
$glossary['str'] = "(^2|\b|\B)".$glossary['str']."(^2|\b)(?!<\/a)"; |
выходит но только если термин стоит прямо перед </a> , показать функции что там могут быть ещё слова не получается
Спустя 3 минуты, 39 секунд (19.10.2009 - 22:57) sergeiss написал(а):
Используй, плз, тэги оформления кода! Кнопочки PHP, SQL, HTML, # находятся рядом с полем ввода текста.
Спустя 15 часов, 19 минут, 31 секунда (20.10.2009 - 14:16) mitiy написал(а):
оки, буду, сеньк.
а по коду направьте?