[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Исключения
denis79513
Есть регулярка: (\[php[\w\s\W]{0,}/php\])
Позволяет отлавливать следующие конструкции:
[php.../php]
Как добавить в нее исключения, чтобы внутри этих "тегов" не было таких же тегов, то есть не было никакой вложенности?
Типо такого: [php..[php.../php]../php]
Чтоб только выбирало самый последний уровень?
denis79513
Неужели это так сложно?
Placido
\[php(?:(?!\[php).)*/php\]
denis79513
Данное регулярное выражение выбирает следующее:
[php [php /php] /php]
А нужно следующее:
[php [php /php] /php]
Placido
Либо добавь модификатор U (заглавная), либо поставь вопросительный знак после звездочки, это сделает поиск нежадным и выражение будет выбирать все до первого "/php\]", а не до последнего.
\[php(?:(?!\[php).)*?/php\]
denis79513
Как добавить перенос строки помимо символов?
\s не работает.
Placido
для этого есть модификатор s
http://www.php.net/manual/ru/reference.pcr...n.modifiers.php
Игорь_Vasinsky
Placido
ты прям закрепился в этом топике biggrin.gif

_____________
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
мне не сложно) у меня сейчас свободного времени мало, поэтому на форум я заглядываю изредка и часто проверяю только "Мои темы" + "Формы и регулярные выражения" (сейчас занимаюсь обработкой текстов и работаю с регулярками почти каждый день), если есть что сказать, отвечаю
Игорь_Vasinsky
понятно, ты ещё про SQL не забывай wink.gif
я мне щас больше по клиентской части ExtJS , тем нету.

_____________
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
denis79513
Цитата (Placido @ 12.04.2013 - 18:09)
для этого есть модификатор s
http://www.php.net/manual/ru/reference.pcr...n.modifiers.php

Чт-то я совсем туплю, рег. выражения это моя слабость.
Я s и имел в виду, куда его вставить чтоб правильно работало, у меня не получается.
Placido
Можно вставить его после закрывающего разделителя, или установить эту опцию внутри регулярки.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.