Forum Webscript.Ru
Программирование => PHP => Тема начата: alesh от 25 Февраля 2003, 16:41:58
-
Всем привет.
Есть такая проблема:
Есть форма. В нее вполне можно вводить html, и она должна понимать его. но! Если ввести http://www.webscript.ru или http://www.webscript.ru БЕЗ форма должна преборазовывать это в ссылку.
Знаю тут много знатоков Регулярных Выражений, так что помогите пожалуйста
-
alesh
А
int link ( string target, string link)
или
int symlink ( string target, string link)
Не помогает?
-
Прошу прощения?
-
alesh
Ну в смысле у тебя $target=$link="www.webscript.ru "
либо проверь, если http://, то добавь в начало http://
-
не, мне надо именно пегулярное выражение которое делает именно то что надо!=)
-
Ни одно, даже самое правильно составленное, регулярное выражение не поймет, что имелл ввиду юзер, вводя какой либо текст. Оно может опознать ссылку по http:// , но без этого - вряд ли.
-
гм.. ну тогда дайте регексп подстановки урла по http
-
почему? =)
вот регулярное выражение которое будет тебе выделять если у тебя есть http://
$text1 = ereg_replace("(http://[^ ]+)", "\\\\1", $text);
а вот это выражение фигачишь после него
оно тебе проверяет если у тебя есть http://www. и на всякий случае не реагирует на http:// чтобы повторно всё не изменить =)
$text2 = ereg_replace("([^http://]www.[^ ]+)", "\\\\1", $text1);
рабочий вариантец вот здесь
http://www.nagash.org/test/regexp.php
вот =)
-
Гы!
Почти!=)
Смотри чего мне надо.
$text="
[url]http://www.alesh.ru[/url]
[url]www.alesh.ru[/url]
alesh.ru
";
Что бы при обработке всего этого было ТРИ ссылки=)
-
оно тебе проверяет если у тебя есть www
Ok! А если, например, forum.alesh.ru ?
-
Так может кто помочь?
-
А если, например, forum.alesh.ru ?
А если я напишу так: Wild.Wind.Wave. - это что? :) Если первое слово не www, правильно определить такую ссылку маловероятно.
-
Вдогонку к предыдущему: можно набрать статистику часто вводимых доменов первого уровня и распознавать ссылки по ним, что-то вроде
/\\b([^\\/ ]+\\.(ru|com|biz|info|net|org))\\b/i
или вести полный список доменов :)
-
эх...
никто мне не поможет=(
-
или вести полный список доменов
Ага, DNS серверок пристегнуть. :)
никто мне не поможет
Ну ограничся тем, что с http:// определяется и озвучь это для пишущих в форму.
-
http://php.spb.ru/php/url2.html
-
ну так добавь моему варианту чтобы он уже готовые ссылки изначально не трогал...
да и всё!
-
Ну так ты можешь полный код выложить , я совсем с регулярными выражениями не знаком.