[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с регуляркой
VeRTak
Есть массив ссылок например


$arr_url = [
"https://test.com/",
"https://test.ru/",
];

foreach ($arr_url as $item)
{
$response->content = preg_replace('#<a href="' . $item . '">(.+?)</a>*#is', "$1", $response->content);
}


Если ссылка в тексте https://test.com/ все как бы хорошо, все это дело вырезается,
а если ссылка https://test.com/blog или там https://test.com/main уже не вырезается
twin
Я бы так лучше сделал

foreach ($arr_url as $item) {
$patterns[] = '#<a href="' . $item . '.*?">(.+?)</a>*#is';
}

$content->content = preg_replace($patterns, "$1", $response->content);


И про preg_quote() не забудь, если данные извне.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
VeRTak
twin

Спс. Нет данные ручками в массив складывает заказчик
Ron
Цитата (twin @ 21.02.2018 - 06:47)
Я бы так лучше сделал

По эффективности эти подходы идентичны. Вариант от VeRTak читается чуточку проще. К тому же более монолитный, если твой генератор массива уедет по тексту выше, то сие значительно затруднит чтение кода (!).

Регулярка неполная, вероятны лишние пробелы в свойствах тэгов. Кавычки атрибутов могут быть как одинарными так и двойными. HTML5 вообще допускает отсутствие кавычек между свойством и его значением.

А какой глубокий смысл несет звезда, после закрывающего тэга?
VeRTak
Ron
Цитата (Ron @ 21.02.2018 - 12:11)
вероятны лишние пробелы в свойствах тэгов. Кавычки атрибутов могут быть как одинарными так и двойными. HTML5 вообще допускает отсутствие кавычек между свойством и его значением.


Там не будет smile.gif тег будет именно такой, меняется лишь ссылка
Ron
Цитата (VeRTak @ 21.02.2018 - 16:22)
Там не будет smile.gif тег будет именно такой, меняется лишь ссылка

Тады норм! =)

Быстрый ответ:

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