Jallvar
21.01.2013 - 15:24
Всем привет. Учу регулярки. Очень непонятная вещь.
Мне нужно узнать есть ли ссылка в строке т.е.
$string ="Тут строка<a href="index.php">На главную!</a>";
preg_match('#<a href="{a-z.}{1,}>{а-я}{1,}</a>"#', $string)
Будет ли такое выражение верно. Если нет, то почему?
Игорь_Vasinsky
21.01.2013 - 15:31
нет, вы не внимательно читали про составление паттернов для regexp и плохо знакомы с понятием конкатенации
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Jallvar
21.01.2013 - 15:32
Вот в этом у меня и идет ошибка. Я плохо понимаю как правильно, составляются регулярные выражения.
inpost
21.01.2013 - 15:33
Нет.
Ну для начала ты потерял кавычки и разместил их как-то не так.
Далее используешь везде фигурные скобки. Есть круглые, есть фигурные. Фигурные нужны для указания количества, перечисление символов в квадратных.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Игорь_Vasinsky
21.01.2013 - 15:37
крыглые скобки - выделяют цель поиска
квадратные скобки используются для указания группы символов
фигурные - квантификатор - кол-во
точка, дефис (если не первый в списке символов) - это метасимволы и в группе символов должны экранироваться
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
beginner95
21.01.2013 - 15:47
<?php
preg_match( "#^(http:\/\/)?(www.)?[-0-9a-z]+\.[a-z]{2,6}\/?$#u", $string )
?>
Как то так :)
_____________
Лучший хостинг
Invis1ble
21.01.2013 - 16:43
JallvarА по какой литературе ты изучаешь регулярки?
![smile.gif](http://phpforum.su/html/emoticons/smile.gif)
По ответам на форуме, да?
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
curious
21.01.2013 - 23:27
Привет всем, столкнулся с такой проблемой. Значица есть функция ereg_replace, у меня она по паттерну искала в конце строки 2 символа 'et' и заменяла на пустоту ''
С недавних пор вылезла Deprecated: Function ereg_replace() is deprecated
Цитата |
С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность. |
Ну в общем проблему то я решил через функцию substr_replace.
Думаю также что эту проблему можно решить через preg_replace, но незадача, я не шарю в регулярках...
Подскажите, что лучше(выгоднее, правильнее...) использовать substr_replace или preg_replace?
Также скажите плиз по какой лит-ре вы изучали регулярки?
Игорь_Vasinsky
21.01.2013 - 23:34
preg_replace()
и вместо паттернов для preg_match(), preg_match_all() - есть готовые флаги filter_var
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Placido
21.01.2013 - 23:39
Цитата (curious @ 21.01.2013 - 22:27) |
Также скажите плиз по какой лит-ре вы изучали регулярки? |
Джеффри Фридл "Регулярные выражения".
Кроме нее - документация на
php.net, regular-expressions.info, форумы (по большей части stackoverflow). Недавняя находка -
http://www.asiteaboutnothing.net/regex/
killer8080
22.01.2013 - 01:03
Цитата (curious @ 21.01.2013 - 21:27) |
у меня она по паттерну искала в конце строки 2 символа 'et' и заменяла на пустоту '' |
Ну и на кой тут регулярка? rtrim() чем не угодил?
Winston
22.01.2013 - 01:07
Цитата (killer8080 @ 21.01.2013 - 23:03) |
rtrim() чем не угодил? |
Видимо тем, что не все знают о нем
![smile.gif](http://phpforum.su/html/emoticons/smile.gif)
Игорь_Vasinsky
22.01.2013 - 01:14
местные то должны знать.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.