Автор Тема: One more time about Regular Expressions....  (Прочитано 7704 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
One more time about Regular Expressions....
« : 25 Февраля 2003, 16:41:58 »
Всем привет.
Есть такая проблема:
Есть форма. В нее вполне можно вводить html, и она должна понимать его. но! Если ввести http://www.webscript.ru или http://www.webscript.ru БЕЗ форма должна преборазовывать это в ссылку.

Знаю тут много знатоков Регулярных Выражений, так что помогите пожалуйста

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
One more time about Regular Expressions....
« Ответ #1 : 25 Февраля 2003, 17:05:19 »
alesh
А  
int link ( string target, string link)
или
int symlink ( string target, string link)
Не помогает?

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
One more time about Regular Expressions....
« Ответ #2 : 25 Февраля 2003, 17:12:39 »
Прошу прощения?

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
One more time about Regular Expressions....
« Ответ #3 : 25 Февраля 2003, 17:23:47 »
alesh
Ну в смысле у тебя $target=$link="www.webscript.ru "
либо проверь, если http://, то добавь в начало http://

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
One more time about Regular Expressions....
« Ответ #4 : 25 Февраля 2003, 17:27:54 »
не, мне надо именно пегулярное выражение которое делает именно то что надо!=)

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
One more time about Regular Expressions....
« Ответ #5 : 25 Февраля 2003, 17:55:03 »
Ни одно, даже самое правильно составленное, регулярное выражение не поймет, что имелл ввиду юзер, вводя какой либо текст. Оно может опознать ссылку по  http:// , но без этого - вряд ли.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
One more time about Regular Expressions....
« Ответ #6 : 25 Февраля 2003, 17:57:17 »
гм.. ну тогда дайте регексп подстановки урла по http

Оффлайн nagash

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 341
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nagash.org
One more time about Regular Expressions....
« Ответ #7 : 25 Февраля 2003, 18:41:08 »
почему? =)
вот регулярное выражение которое будет тебе выделять если у тебя есть http://
$text1 = ereg_replace("(http://[^ ]+)", "\\\\1", $text);

а вот это выражение фигачишь после него
оно тебе проверяет если у тебя есть http://www. и на всякий случае не реагирует на http:// чтобы повторно всё не изменить =)
$text2 = ereg_replace("([^http://]www.[^ ]+)", "\\\\1", $text1);

рабочий вариантец вот здесь
http://www.nagash.org/test/regexp.php

вот =)

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
One more time about Regular Expressions....
« Ответ #8 : 25 Февраля 2003, 18:48:13 »
Гы!
Почти!=)
Смотри чего мне надо.

$text="
[url]http://www.alesh.ru[/url]
[url]www.alesh.ru[/url]
alesh.ru
";


Что бы  при обработке всего этого было ТРИ ссылки=)

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
One more time about Regular Expressions....
« Ответ #9 : 25 Февраля 2003, 18:49:30 »
Цитировать
оно тебе проверяет если у тебя есть www

Ok! А если, например, forum.alesh.ru ?
Все болезни от нервов, только сифилис от удовольствия

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
One more time about Regular Expressions....
« Ответ #10 : 27 Февраля 2003, 14:01:40 »
Так может кто помочь?

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
One more time about Regular Expressions....
« Ответ #11 : 27 Февраля 2003, 15:45:03 »
Цитировать
А если, например, forum.alesh.ru ?

А если я напишу так: Wild.Wind.Wave. - это что? :) Если первое слово не www, правильно определить такую ссылку маловероятно.
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
One more time about Regular Expressions....
« Ответ #12 : 27 Февраля 2003, 16:05:56 »
Вдогонку к предыдущему: можно набрать статистику часто вводимых доменов первого уровня и распознавать ссылки по ним, что-то вроде

/\\b([^\\/ ]+\\.(ru|com|biz|info|net|org))\\b/i

или вести полный список доменов :)
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн alesh

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 97
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.alesh.ru
One more time about Regular Expressions....
« Ответ #13 : 27 Февраля 2003, 16:10:07 »
эх...
никто мне не поможет=(

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
One more time about Regular Expressions....
« Ответ #14 : 27 Февраля 2003, 16:37:14 »
Цитировать
или вести полный список доменов

Ага, DNS серверок пристегнуть. :)

Цитировать
никто мне не поможет

Ну ограничся тем, что с http:// определяется и озвучь это для пишущих в форму.
Все болезни от нервов, только сифилис от удовольствия

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28