![]() |
регулярные выражения. вопрос
вопрос:
PHP код:
Мне надо бы сделать так, чтобы оно жрало ссылки вида www.site.ru site.ru www.ste.ru?parametr=zna4enie а то в таком виде кушает только вместе в протоколом и без параметров |
http://regexlib.com/Search.aspx?k=link
посмотри ) |
Спасиба. Я весь гугл обшарил, а эту штуку не находил)
|
Не блин... хрень какая-то... там все служебные символы закручены через кодировки и я хрен славливаюсь...
|
PHP код:
|
А это тебе для чего? Если тебе этим в чате или в форуме фильтровать, то под него попадут все любители не ставить пробел после точки, как тут "Привет.Как дела" - <a href="//Привет.Как/"...
Код:
$mess=preg_replace('!(https?:|ftp:|)(//|)([\w]+\.\w[\w.]+)/?([^\<\>\"\n\r\\\\?]*|)(\?[^\<\>\"\n\r\\\\]*|)!i', '<a href="\1//\3/\4\5" target="_blank">\1//\3/\4\5</a>', $mess); |
Hidden спасибо. так работает... но теперь смайлики перестали отображаться)))))))))))
PS мне под гостевуху.... |
Цитата:
|
адреса должны иметь вид
Код:
images/smiles/smile37.gifКод:
<img src="images/smiles/<a href="//smile9.gif/" target="_blank">//smile9.gif/</a>" border="0">все исправил. теперь ситуация описана актуально) |
Ну так она не может отличить имя с расширением от домена первого и второго уровня, можно не принимать единичный слеш перед доменным именем, можно фильтровать возможные доменные имена первого уровня, а можно фильтровать возможные расширения файлов, а вообще, смайлы должны обрабатываться после него. Когда я обрабатываю ббкоды, я их превращаю в промежуточную форму, чтоб не попадали под следующие выражения, а потом, всех сразу, в html
|
| Время: 18:15 |