|
|
|
| Подскажите пожалуйста регулярное выражение типа <a всё_что угодно $_SERVER['SERVER_NAME'] всё что угодно> | |
|
|
|
|
|
|
|
для: Shest
(06.12.2010 в 13:44)
| | '.*'.$_SERVER['SERVER_NAME'].'.*' | |
|
|
|
|
|
|
|
для: kosta_in_net
(07.12.2010 в 18:42)
| | Для программиста Яндекса вы написали довольно странную регулярку.
Какой смысл ставить *, если они стоят в пре- и пост- позициии? Не проще ли просто напросто не ограничивать начало и конец строки и вообще использовать strpos?
Другое дело - не совсем ясно, надо ли, чтобы текст был именно в квадратных скобках (< >) или это просто так автор написал. | |
|
|
|
|
|
|
|
для: neadekvat
(08.12.2010 в 13:19)
| | чушь там для программиста любого уровня.
Поскольку preg_quote не применяется.
Даже если отойти от сугубо формального пути, и приводить вариант именно для server_name, стоило бы помнить, что доменное имя обычно включает в себя точки, и что точка - спецсимвол шаблона, а не обычный литерал.
А Константин где-то утверждал, что он программист Яндекса? | |
|
|
|
|
|
|
|
для: Trianon
(08.12.2010 в 13:31)
| | Хм, правда, проблема еще глубже.
> А Константин где-то утверждал, что он программист Яндекса?
"Вообще-то, я работаю в Яндексе" - такого не было. Было это:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=77643&page=1#post460145
он пошутил, я пошутил :) | |
|
|
|
|
|
|
|
для: Trianon
(08.12.2010 в 13:31)
| | В общем получилось следующее
<a[\s]*[\S]*href[\s]*=[\s]*(\"|\')?http:\/\/(www\.)?$_SERVER[SERVER_NAME](\"|\')?[\s]*[\S]*>[\s]*[\S]*<\/a>'i
Вот только одна проблема: выражение почему-то требует, чтобы адрес был с www, если сервер_наме без www, выржение не работает
Чудно. Вроде поставил (www\.)? | |
|
|
|
|
|
|
|
для: Shest
(08.12.2010 в 22:10)
| | Всё, рзобрался. Решение такое
$host=str_replace("www.","",$_SERVER['SERVER_NAME']);
"'<a[\s]*[\S]*href[\s]*=[\s]*(\"|\')?http:\/\/(www\.)?$host(\"|\')?[\s]*[\S]*>[\s]*[\S]*<\/a>'i" | |
|
|
|