我有一个像这样的字符串:正则表达式劈裂字符串数组
== Paragraph ==
=== title 1 ===
content
=== Title 2 ===
other content
== Paragraph 2 ==
=== asd1 ===
dfdsfdsfdsfdsfdsfsdfdsf
=== asd2 ===
fgdfgfdgfdgfdgfdgfdgfdg
我试图把它解析成数组是这样的:
$arr = array(
array("title"=>"Paragraph", "content" => "=== title 1 ===
content
=== Title 2 ===
other content "),
array("title"=>"Paragraph 2", "content" => "=== asd1 ===
dfdsfdsfdsfdsfdsfsdfdsf
=== asd2 ===
fgdfgfdgfdgfdgfdgfdgfdg"));
我已经试过这expession为越来越段落名称:
preg_match_all("@== (.*?) ==.*[email protected]", $data, $paragraphs);
但这expresion不工作,因为我想,因为它不整款搭配输出是这样的,它没有得到内容:
Array
(
[0] => Paragraph
[1] => title 1
[2] => Title 2
[3] => Paragraph 2
[4] => asd1
[5] => asd2
)
我也曾尝试(nl2br因为我不知道如何使用正则表达式中的新行)
$data = nl2br($data);
preg_match_all("@== (.*?) ==<br />.*[email protected]", $data, $paragraphs);
但结果是这样的:
[0] => Array
(
[0] => == Paragraph == <br />
=== title 1 ===<br />
content<br />
<br />
=== Title 2 ===<br />
other content <br />
<br />
== Paragraph 2 ==<br />
)
我不理解的常规expresions好,我不知道如何解决我的问题。
这似乎很像降价,也许看看减价解析器? – Maerlyn