verfaa
Профессор
- Регистрация
- 29 Янв 2007
- Сообщения
- 417
- Реакции
- 49
- Автор темы
- #1
Использую PHP 8.2
Есть текст:
Я написал код, для замены некоторых слов на ссылки:
Но на выходе часто получаю такой текст:
Т.е. при последующих проходах скрипт берёт анкор из тела ссылки, которую он вставил на предыдущих итерациях. Т.е. я получаю такое:
Подскажите как написать регулярное выражение, которое игнорировало бы совпадения внутри тегов <a ... </a>
Есть текст:
HTML:
<p>Learn how to adjust your downloads settings to get Netflix to automatically data it for you with its Smart Downloads features, and how to manage downloads for countries with restricted licenses. For more, manage Netflix's hidden menu or see CNET's reviews of all the streaming services</p>
Я написал код, для замены некоторых слов на ссылки:
PHP:
$text = preg_replace_callback(
"#(manage|reviews|module)#m",
function (array $matches) use (&$url_my_domain) {
return "<a href=\"$url_my_domain\">{$matches[1]}</a>";
},
$text
);
Но на выходе часто получаю такой текст:
HTML:
<p>Learn how to adjust your downloads settings to get Netflix to automatically data it for you with its Smart Downloads features, and how to <a href="https://site.net/blog/post/data-<a href="https://site.com/page.html">reviews</a>-who-need-it">manage</a> downloads for countries with restricted licenses. For more, manage Netflix's hidden menu or see CNET's reviews of all the streaming services</p>
Т.е. при последующих проходах скрипт берёт анкор из тела ссылки, которую он вставил на предыдущих итерациях. Т.е. я получаю такое:
HTML:
<a href="https://site.net/blog/post/data-<a href="https://site.com/page.html">reviews</a>-who-need-it">manage</a>
Подскажите как написать регулярное выражение, которое игнорировало бы совпадения внутри тегов <a ... </a>