Автор Тема: Как в регулярном выражении поставить ограничение???  (Прочитано 2869 раз)

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

Оффлайн AlterMann[RCK]

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.belnet.ru/altermann
Товарищи!!!
Подскажите, плиззз!
Как поставить ограничение в регуляром выражении... ну, чтобы он выдерал до опеределённого символа?

ну например...
строка
http://www.ru/#Название
и нада, чтобы выдералосля урл до # и писался в $1, а название в $2...

Очень нада и как можно скорее!
Русский язык без мата превращается в доклад!

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru

$s = "http://www.ru/#Название";
$s =~ m!^[url]http://[/url]([^/]+)/(.+)$!;
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн AlterMann[RCK]

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.belnet.ru/altermann
ну а если например... вот так...

$val=~s/(http:\\/\\/\\S+\\#)/INSERT INTO links VALUES \\(\'$2\',\'$1\'\\);/g;

или как по другому??

короче нада, чтобы получилось вот так:
INSERT INTO nuke_links_links VALUES (\'Название\',\'http://www.ru\');

а получается...
INSERT INTO nuke_links_links VALUES (\'\',\'http://www.ru#\');
Русский язык без мата превращается в доклад!

Оффлайн AlterMann[RCK]

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.belnet.ru/altermann
Цитировать
$s =~ m!^http://([^/]+)/(.+)$!;

хотя это конечно прокатывает... но только он обрубает всё, что после .ru ...
вот такая засада получается...

INSERT INTO links VALUES (\'cgi-bin/category?ca_id=49#@ Port.ru - ОТКРЫТКИ - Выбор открытки\',\'ot.port.ru\');

и http:// тоже нужно... :-)

Короче, делаю вывод что нужно...
Не нужно ставить ограничение на / ... нада ставить чтобы брало с http:// (включая и его) и до # .... при этом решётку обрубая...

Но чё-то у меня не получается... :-)
Вернее я уже почти всё сделал, но http:// всё равно обрубается... :-)

В общем наваялся следующее регулярное выражение:
$val=~s/http:\\/\\/([^#]+)#(.+)$!/и тута ... то самое... с $1 и $2/
« Последнее редактирование: 17 Декабря 2002, 17:20:02 от AlterMann[RCK] »
Русский язык без мата превращается в доклад!

Оффлайн AlterMann[RCK]

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.belnet.ru/altermann
ВСЁ, спасибо всем! я нашёл способ обойти... ;-)
Русский язык без мата превращается в доклад!

 

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