У меня есть следующие использование для preg_match_all
:Объяснение для PHP preg_match_all соответствует массив print_r
$re = "/^(-\\w+\\s*.*)\\n*$/um";
$str = "-Give on result\n-Second new text\n-The third text\n\nAnother paragraph without list.\n\n-New list here";
preg_match_all($re, $str, $matches);
Выход print_r($matches)
имеет странный массив:
Array
(
[0] => Array
(
[0] => -Give on result
[1] => -Second new text
[2] => -The third text
[3] => -New list here
)
[1] => Array
(
[0] => -Give on result
[1] => -Second new text
[2] => -The third text
[3] => -New list here
)
)
Здесь я говорю о массиве индекс 0
и визуально пустая строка появилась на выходе print_r()
. Действительно, этот вопрос может быть связан с my another question около regex, и мне нужно знать, почему два массива отличаются друг от друга? Онлайн демо найден here
Существует пробел после '' Третий текст', потому что он все еще ловит '\ n' – Darren
@Darren. Я не думаю, что, поскольку если есть другое кеширование, это должно быть продемонстрировано в новом ключе ключа, а также, если поэтому, почему у второго массива нет пустой строки? – SaidbakR
Посмотрите, что показывает 'var_dump ($ matches)', он имеет более подробную информацию –