[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Заменить слова, кроме слов в ссылках
ArtNAr
Есть текст вида:
<p> <тег "параметры HTML">Текст Текст</тег>Текст Текст Текст <a>Текст</a></p>
<p><img
alt="Текст искомое слово 1 Текст">Текст</p>

Конечно же последовательность тегов произвольная.

Есть массив:
array(
'искомое слово 1' => 'значение 1',
'искомое слово 2' => 'значение 2',
'искомое слово 3' => 'значение 3'
);


Надо найти все вхождения ключа и вставить вокруг них текст, подобно str_ireplace, но с тем отличием:
1) текст внутри <тег>, внутри параметров (в примере alt картинки имеет вхождение одного из ключей массива) и внутри <a> трогать не нужно.
2) нужно даже скорее не заменить, сделать так:

<p> <тег "параметры HTML">Текст Текст</тег>
Текст 'значение 1' 'искомое слово 1' 'общий текст после каждого вхождения' Текст
Текст <a>Текст</a></p>
<p><img
alt="Текст искомое слово 1 Текст">Текст</p>


Т.е. если написано 'исКомое СлоВо 1', то именно такое написание и должно остаться, но должно стать три фрагмента: "Значение" + "Искомое" + "Общая для всех вхождений любого значения вставка".

Подскажите куда копать, хотя бы логику как это реализовать можно.
Игорь_Vasinsky
у меня взрыв произошёл.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
ArtNAr
Даже не знаю как понятнее сформулировать :-)

У меня есть список слов, каждое слово надо найти в тексте и обернуть в "что-то разное" + слово + "что-то общее", но кроме случаев, когда вхождение нашлось внутри параметров тега или уже стоит внутри парного тега (кроме тега <p>). При том регистр букв в слове должен остаться таким, каким был.
ArtNAr
Тему можно удалить/закрыть.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.