Еще одна проблема / вопрос о регулярных выражениях noob.Я, вероятно, делаю что-то глупое, поэтому я подумал, что смогу воспользоваться общей изобретательностью регулярных выражений SO;)
Пытаться сопоставлять символы новой строки, но только если они встречаются в двойных или одинарных кавычках.Я также хочу перехватывать строки, которые находятся между кавычками, но не содержат символов новой строки.
Хорошо, так что я получил с выводом.Ниже будет вывод, который я хотел бы получить.Любая помощь будет принята с благодарностью!:)
Я использую Regex Coach, чтобы помочь мне создавать свои шаблоны, будучи новичком и все такое.Согласно RC, шаблон, который я предоставляю, соответствует всем вхождениям в данных, но в моем PHP он пропускает многострочную часть.Я уже пытался с модификатором шаблона 'm', но безрезультатно.
Содержимое $ CompressedData:
<?php
$Var = "test";
$Var2 = "test2";
$Var3 = "blah blah
blah blah blah
blah blah blah blah";
$Var4 = "hello";
?>
Шаблон / код:
preg_match_all('!(\'|")(\b.*\b\n*)*(\'|")!', $CompressedData, $Matches);
Текущийвывод print_r из $ Matches:
Array
(
[0] => Array
(
[0] => "test"
[1] => "test2"
[2] => "hello"
)
...
}
DESIRED вывод print_r из $ Matches:
Array
(
[0] => Array
(
[0] => "test"
[1] => "test2"
[2] => "blah blah
blah blah blah
blah blah blah blah"
[3] => "hello"
)
...
}