PHP в деталях


         

Комментарии к статье ""


25.2.2001 09:23  Александр
Уважаемый, вы кое-что перепутали в своей заметке о регулярных выражениях. Как раз таки по умолчанию перловские регулярные выражения жадны (greedy). Жадными они называются потому, что стремятся "заглотить" побольше. Знак вопроса делает их ungreedy. Отсюда и "параметр" такой - буква 'u'.
Ответ DL:

Ясно. Я понял "жадность" в смысле "выдать минимальную строку". Исправлю.
14.3.2001 17:39  Sergei  []
Дима, я не очень разбираюсь в Regexp-ах, Но нашел ошибку у тебя в строчке

$text = preg_replace("/.*?/", "\\0 [\\1]", $text);

нужно перед поставить backslash.

$text = preg_replace("/.*?/", "\\0 [\\1]", $text);

И хотел бы попросить у тебя помощи в свой проблеме (тоже Regexp). Уже 2 недели "отжимаюсь" -(....
Ответ DL:

Эти обратные слэши... вечно исчезают.
14.3.2001 17:42  Sergei  []
О! пардон. это репается (пропадает обратный слешь)при загрузке страницы.... я его вписал, а он вырезался при обработке. Видимо у тебя там тоже он есть.
Ответ DL:

Эти обратные слэши... вечно исчезают.
24.3.2001 08:50  Antoxa  []
Как сжать все повторные выражения, например [/url][url][/url][/url] должна вывести [/url][url][/url]
Ответ DL:

Разбить explod-ом. Как через рег. выражения - не представляю.
30.3.2001 17:12  Max  []
Как написать регулярное выражение что бы оно вырезало содержимое из скобок например "..(456,78).."

насколька я знаю () это служебные символы ? конструкции типа ([0-9]{1,9}) результатов не дают ....
Ответ DL:

Ну, дык! Конструкции неправильные.

$foo = preg_replace("/\([\d\,]*\)/", "", $foo);
10.4.2001 19:34  kirill
а как с помощью рег. выражений "выдрать" из страницы все адреса ссылок (то, что находится за ]
Ну тут всё понятно, а если я хочу выризать и "]
Задача:

заменить в тексте все вида: http:\что-то

на:

Пишу команду:

$message = preg_replace("/(http://[w&/-:.?=$%]{10,})/i", "", $message);

Если нормальная ссылка вида: http:\www.zoo.kharkov.ua, то заменяется корректно.

А в ссылках вида: http://xpoint.ru/cgi-bin/forum.cgi?action=create_form&id=8 - все что идет после знака &, остается за пределами тега.

И еще если в конце ссылки стоит "." - не могу ее отбросить, она попадает в ссылку.

Может кто дать свой вариант PHP-кода, для замены http://, ftp:// и e-mail на сответствующие сылки.

Пожалуйста!
<

Содержание  Назад  Вперед