Intereting Posts
Какой тип данных подходит для хранения этой ситуации? Что было бы хорошим образцовым проектом, чтобы попросить потенциального программиста кодировать во время процесса найма? Учитывая, что письмо является сырым текстом, как я могу его отправить с помощью PHP? Как я могу сделать скриншот сайта с PHP и GD? Инъекция зависимостей PHP Предупреждение: mysqli_real_escape_string () ожидает ровно 2 параметра, 1 из них … что я делаю неправильно? Связь между веб-сайтами mysqli error – bind_param: количество переменных не совпадает PHP: задайте значение многомерного ассоциативного элемента массива, используя путь, определенный в отдельном массиве $ _POST, $ _GET и $ _REQUEST Пустые Попытка получить новую строку в сообщении sms, отправленном с php-скрипта Методы магии PHP __get и __set PHP: переменная Область вопроса / ссылки на переменные Загрузка изображения с сервера android на PHP Глобальные и статические переменные в PHP

Regex для тегов цитат php

Мне нужно разобрать одиночный кавычек (обратите внимание на несколько вложенных = одиночных) с php, похожий на тег quote quote. Пример:

some nonquoted text1 [quote="person1"]some quoted text11[/quote] some nonquoted text2 [quote="person2"]some quoted text22[/quote] etc... with no newlines necessarily... 

Результат должен быть массивом

  Array ( ['nonquoted'] => Array ( [0] => some unquoted text1 [1] => some unquoted text2 ) ['quoted'] => Array { [0] => Array ( [0] => person1 [1] => some quoted text11 ) [1] => Array ( [0] => person2 [1] => some quoted text22 ) } } 

Related of "Regex для тегов цитат php"

 $input= <<<EOL some nonquoted text1 [quote="person1"]some quoted text11[/quote] some nonquoted text2 [quote="person2"]some quoted text22[/quote] EOL; $result = Array('unquoted'=>Array(), 'quoted'=>Array()); //find [quote] blocks, replace them with nothing, and store the text in $result['quoted'] $unquoted = preg_replace_callback('@\[quote="([^\"]+)"\](.*)\[/quote\]@',function($m) use(&$result){ $result['quoted'][]=Array($m[1],$m[2]); },$input); //what's left is only unquoted lines, so split them into an array $result['unquoted']=preg_split('@[\r\n]+@',$unquoted); //your result print_r($result);