Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Очистка от ссылок
Форумы портала PHP.SU » PHP » Регулярные выражения » Очистка от ссылок

Страниц (1): [1]
 

1. Shelter - 30 Мая, 2010 - 07:52:52 - перейти к сообщению
Доброе утро. Есть небольшой вопрос.

Имеется запись массива, которая имеет вид:

CODE (htmlphp):
скопировать код в буфер обмена
  1. "/bla/bla.php?data=2010-05-26">текст ссылки</a>


Вопрос: как убрать всё, кроме текста ссылки?
2. alexspb - 30 Мая, 2010 - 10:10:36 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. echo preg_replace("/<a\s[^>]+>(.*)<\/a>/isU", '\\1', $txt);

только непонятно при чем массив?
3. JustUserR - 30 Мая, 2010 - 14:29:22 - перейти к сообщению
alexspb Только надо использовать нежадный квантификатор (.*?) - иначе будет произведена замена с самого первого открывающего тега до самого последнего закрывающего
Shelter Если у вас имеется массив ссылок то используйте функцию array_map с данным регулярным выражением - если у вас в тексте просто множество ссылок то функцию preg_match_all соответственно
4. alexspb - 30 Мая, 2010 - 19:02:47 - перейти к сообщению
JustUserR пишет:
Только надо использовать нежадный квантификатор (.*?) - иначе будет произведена замена с самого первого открывающего тега до самого последнего закрывающего

а /U разве не выполняет ту же работу?
5. JustUserR - 31 Мая, 2010 - 02:06:35 - перейти к сообщению
alexspb пишет:
А /U разве не выполняет ту же работу?
Ту же только он неуниверсален (В плане не будет работать при переносе кода в Perl) и не так очевиден при просмотре кода (Почему я первоначально и заметил Улыбка
6. Shelter - 31 Мая, 2010 - 07:19:08 - перейти к сообщению
Благодарю всех.
7. JustUserR - 01 Июня, 2010 - 14:41:28 - перейти к сообщению
Shelter Кстати если говорить про универсальность то лучше в запрещающих регулярных выражениях не использовать конкретные символы типа кириллицы - поскольку кодировка входящих данных может быть в общем разная и они могут не сработать Как вариант защиты можно исползовать инверсные группы символов

 

Powered by ExBB FM 1.0 RC1