У меня есть это регулярное выражение в PHP:Regex, матч между тегами перевода строки
preg_match('/\[summary\](.+)\[\/summary\]/i', $data['text'], $match);
Он отлично работает, когда текст между сводным тегами на одной строке. Однако, когда он содержит символы новой строки, он не совпадает.
Я попытался найти правильный модификатор здесь: http://nl2.php.net/manual/en/reference.pcre.pattern.modifiers.php Но единственное, что связано с новостями, это «m», и это не делает то, что я хочу.
Как это сделать?
Обратите внимание, что ваше регулярное выражение будет соответствовать [summary], а затем соответствует концу строки, а затем возвращается назад, пока не найдет [/ summary]. То, что вы, вероятно, хотите, это остановить его после первого [/ summary] после [summary]. Самый простой способ сделать это - использовать не-жадный квантификатор: (. +?) – Blixt
Будет только один набор тегов суммирования, и он будет написан только администраторами, поэтому здесь это не имеет никакого значения. Спасибо за подсказку. –