Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> регулярные выражения, вытащить ссылку 
:(
    Опции темы
Greendrake
Дата 10.8.2006, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 364
Регистрация: 14.7.2005

Репутация: нет
Всего: 6



Подскажите, как вырезать из текста комментарии типа
Код
/* bla bla bla */

Никак не догоняю как в регвыре заложить условие не "*/".
PM MAIL   Вверх
smartov
Дата 10.8.2006, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 4
Всего: 259



Greendrake

Код

$str = <<<END
Hello
/* bla sdk*fjh */
Bye
END;
echo preg_replace('/\/\*(.*)(\*\/+)/Us', '', $str);


Это сообщение отредактировал(а) smartov - 11.8.2006, 11:30
PM MAIL   Вверх
Greendrake
Дата 11.8.2006, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 364
Регистрация: 14.7.2005

Репутация: нет
Всего: 6



Хорошо, но почему если
Код
$str = <<<END
Hello
/* bla sdk*fjh */
kjsdhf sal */
Bye
END;
echo preg_replace('/\/\*(.*)(\*\/+)/', '', $str);
то удаляется только строчка 3, а если
Код
$str = <<<END
Hello
/* bla sdk*fjh */ kjsdhf sal */
Bye
END;
echo preg_replace('/\/\*(.*)(\*\/+)/', '', $str);
 - то удаляется до последнего */ ?
К тому же, судя по подсветке, тут на форуме другая рега юзается.

Это сообщение отредактировал(а) Greendrake - 11.8.2006, 11:15
PM MAIL   Вверх
ZlojEzh
Дата 11.8.2006, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 2
Всего: 15



захватывает до последнего '*/' - потому что не используется модификатор 'U'
не захватывает перевод строки - не указан модификатор 's'

для корректного вырезания комментов надо использовать оба
PM MAIL ICQ   Вверх
smartov
Дата 11.8.2006, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 4
Всего: 259



Цитата(Greendrake @  11.8.2006,  10:14 Найти цитируемый пост)
то удаляется только строчка 3, а если


Цитата(ZlojEzh @  11.8.2006,  10:20 Найти цитируемый пост)
хватывает до последнего '*/' - потому что не используется модификатор 'U'не захватывает перевод строки - не указан модификатор 's'

Совершенно верно. 
Поправил регу.
PM MAIL   Вверх
gogzor
Дата 21.9.2006, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 21.9.2006

Репутация: нет
Всего: нет



Привет люди!
У меня есть ссылка - <a href="xxxxxxxxxxxxxxxxxxxx"> , надо найти этот xxxxxxxxxxxxxx , но как???
Я пробовал регулярки которые тут выкладывали , но не помогает ... Дело в том , что м этой ссылке содержаться не только буквы и цифры , а ещё и : % и прочее добро..

Я пробовал этот код:

Код

   preg_match('/<a href=\"([^"]*)">([^<]*)<\/a>/', $s, $matches);
   echo "<pre>";
   print_r($matches);


но он не помогает....

плиз скажите как сделать....

П.С Сылка примерно такая :
<a href="http://212.111.210.10/script.php?pupu=7OBDXbjzl4EgtIqJNyS8wNoLeuzQjv87c5aSSbFXLwG5KifPQNE%2BK3DphfjYYq2SQHN9y74HAvd53KAwE3WKdIsbSIsOPU1DnJI1NbyTggmPgjziFL5qfMFKJNwyKowNV%2FfeNmP8Zla1rO2UT%2FvqVkZZdD%2BEqqtqoeLN9RAVin3nS3iTteZSqmKbbml8ePBGVKYM%2Fg%2Blq6jnalGLGyyHgjUQEvVmvVTINU1vO8iNoMQBNIpzP6ELysshvXCdbswOe6i1JIRjOTR39RYR2tEWylimhsNGAiW4XLpIrLABcrs3KxSLGWgFW99coQ2bwu%2FWPGyI260Do7cLD%2F3ppFyJcA%2BvpXNDsGvgh10m1BR2M5dVdAla6iVHK%2FQrqil1KfzCsjzlf1BGNm6PVLEb%2F2CqkeEXXVm0dc1XxBS0iGs%2FOiBIk%2F8jCOugd1ovhNMnK8eKxjkWNbCtCVdkqMuvHIPKFZmsPIE%2FE2vo3P7fpJH3XbxRgksveY50gDb4iSaWUW%2FjSZp6kjQ3y1OjEdSaZ5ldXrzp%2Bb21iKS1P31ADpYiGrXUqphXhDghZUgga%2BRgMv6NAI%2BqoSAgaGQYQE2s3y4UDQa7gl1Kq4KFijfrl%2Bj0mZcDJmnkAm8YpYA7YQTwzM6cVF%2FxYo7Go5iKkjFW%2BaVlsJG0prYt8tLZ93k4b442vBiG52AWnKpdDBTb1YapofxvqpC8UhaUmFdw9234w5QMIWOR4lGKyO5DgZvU8uwHk2GaeWF%2BOj9GY3OGUxWqlf5TWpVMQfuBLpWco7K3%2BzukgDpyiOc%2BmYlFYvUPWN%2FRf4n4qtMoxeTUsbFkFLAZtKk%2BVUTG%2BSGjzpAb743j6lU9kSPkHf5ljKLfYtsqje6bMks%3D">

PM MAIL   Вверх
Wolf1994
Дата 21.9.2006, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 1
Всего: 29



Код

preg_match_all ('/<a.+href="(.*)".*>/Usi', $s, $matches);
print_r ($matches)

PM MAIL WWW   Вверх
smartov
Дата 22.9.2006, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 4
Всего: 259



gogzor, товарищ, там же видно что в регулярке полная ссылка, а у тебя пол-тега только. Где сам текст ссылки? Где закрытие тега </a>? Естественно ничего работать не будет.
Надо немного переделать регулярку и все сразу заработает.

Код

preg_match('/<a href=\"([^"]*)">/', $s, $matches);
echo "<pre>";
print_r($matches);


Это сообщение отредактировал(а) smartov - 22.9.2006, 12:05
PM MAIL   Вверх
gogzor
Дата 22.9.2006, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 21.9.2006

Репутация: нет
Всего: нет



Спасибо за помощь!
Подскажите плиз где можно почитать подробно про все знаки и модификаторы regexp (на русском) ?
PM MAIL   Вверх
smartov
Дата 22.9.2006, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 4
Всего: 259



gogzor
Цитата(gogzor @  22.9.2006,  17:38 Найти цитируемый пост)
Подскажите плиз где можно почитать подробно про все знаки и модификаторы regexp (на русском) ?

http://php.paco.net/manual/ru/reference.pc...tern.syntax.php
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0955 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.