Подскажите ламеру плз:
Чем отличаются
|.*?|is от |(.*?)|is
|.*?|is от |.*?|i
Когда необходимо использовать .*? а когда (.*?)
Сори мейл режет. Вот код: https://pastebin.com/whvuuiA0
PHP
Подскажите плз ламеру по regexr
Использовать | в качестве ограничителя - очень плохая идея: | - это служебный символ, используемый для разделения вариантов в регулярном выражении.
Модификатор s используется для поиска участка текста, который может занимать несколько строк. Без s поиск производится отдельно в каждой строке текста (разделитель строк - символ "\n"), а при использовании s символ "\n" рассматривается как один из пробельных символов, входящих в набор \s.
В твоём случае содержимое div может занимать несколько строк и потому s ставить необходимо.
Круглые скобки выделяют в найденном тексте отдельные участки - для дальнейшего их использования.
Для '|.*?|is' preg_match запишет в третий параметр массив из одного элемента (весь найденный текст), а в preg_replace во втором параметре доступна только подстановка $0.
Для '|(.*?)|is' preg_match запишет в третий параметр массив из двух элементов (весь найденный текст и только то, что найдено выражением в круглых скобках), а в preg_replace доступны подстановки $0 и $1.
Если тебе нужно получить всё найденное, включая теги div и /div, круглые скобки не нужны. Но если тебе надо отдельно получить содержимое тега div - то для этого круглые скобки и нужны.
Кроме того, круглые скобки используют для перечисления вариантов: например, #дом (|а|у|е|ом) # найдёт все падежи слова "дом" (пробел между 'м' и '(' - самодеятельность слишком "умного" парсера "ответов").
P.S. Хочешь разобраться в регулярках - читай документацию: https://www.php.net/manual/ru/book.pcre.php
Модификатор s используется для поиска участка текста, который может занимать несколько строк. Без s поиск производится отдельно в каждой строке текста (разделитель строк - символ "\n"), а при использовании s символ "\n" рассматривается как один из пробельных символов, входящих в набор \s.
В твоём случае содержимое div может занимать несколько строк и потому s ставить необходимо.
Круглые скобки выделяют в найденном тексте отдельные участки - для дальнейшего их использования.
Для '|.*?|is' preg_match запишет в третий параметр массив из одного элемента (весь найденный текст), а в preg_replace во втором параметре доступна только подстановка $0.
Для '|(.*?)|is' preg_match запишет в третий параметр массив из двух элементов (весь найденный текст и только то, что найдено выражением в круглых скобках), а в preg_replace доступны подстановки $0 и $1.
Если тебе нужно получить всё найденное, включая теги div и /div, круглые скобки не нужны. Но если тебе надо отдельно получить содержимое тега div - то для этого круглые скобки и нужны.
Кроме того, круглые скобки используют для перечисления вариантов: например, #дом (|а|у|е|ом) # найдёт все падежи слова "дом" (пробел между 'м' и '(' - самодеятельность слишком "умного" парсера "ответов").
P.S. Хочешь разобраться в регулярках - читай документацию: https://www.php.net/manual/ru/book.pcre.php
Скобки предназначены для замены. Если тебе просто найти куски текста, подходящие под регэкс, они ничего не делают.
s обрабатывает переносы строки как обычные символы.
s обрабатывает переносы строки как обычные символы.
() это группа захвата
вы потом сможете узнать что попало в неё в регекспе.
Например, /abc([A-z]*?)def/. Под это выраж-е попадёт abcooodef, а в 1 группе захвата будет ooo.
Нужно использовать тогда, когда вам нужно узнать что находится внутри какой-то области.
вы потом сможете узнать что попало в неё в регекспе.
Например, /abc([A-z]*?)def/. Под это выраж-е попадёт abcooodef, а в 1 группе захвата будет ooo.
Нужно использовать тогда, когда вам нужно узнать что находится внутри какой-то области.
Александр Мещеряков
В принципе мне надо получить то, что находится между указанными тегами. И потом это заменить на свое.
Похожие вопросы
- тема хостинга подскажите платный и бесплатный хостинг
- Хостингер пошел на дно. Подскажите хороший бесплатный PHP-хостинг
- ...Подскажите какие-нибудь надежные, бесплатные хостинги с фтп, кроме хостингера
- Подскажите хороший курс по PHP практике?
- Подскажите как раскрутить портал Как нагнать трафик на сайт?
- Дорогие друзья, не могли бы вы подсказать хороший (бесплатный) хостинг? Необходим для того что бы учить php5
- Подскажите самую оптимальную замену PHP
- Здравствуйте! YII хостинг с пробным периодом не подскажите. Надо очень.
- подскажите норм хостинг дешевый на котором можно много сайтов разместить и чтобы пых был и норм трафик. без хрени
- Подскажите коммерческий хостинг с бесплатным тестовым периодом и поддержкой технического домена
Плохая идея или хорошая, но так сделано автором плагина. Между прямыми слешами регулярное, а после них, если я правильно понимаю условие.