【发布时间】:2012-12-04 00:39:15
【问题描述】:
我需要获取$one 的输出并创建一个数组,但是,正则表达式不正确,因为我得到的只是一个具有一个键和一个值的数组;基本上,整个字符串。如果字符串中有 10 个段落标签,那么我应该在数组中得到 10 个值。
我的正则表达式有什么问题?
理想情况下,我希望输出数组中有两个数组,一个带有段落标签,另一个带有它们之间的文本。
$one = preg_replace( '/<p>/i', '<p class="test">', $str ); // This gives me what I need
print_r(explode( '/<p class="test">/iU', $one )); // This does not
【问题讨论】:
-
我知道我不应该但是... stackoverflow.com/a/1732454/496223
-
@yes123,感谢您的链接。我认为正则表达式可以解析任何东西。你能建议我如何将 $one 的输出放入数组中吗?
-
afaik,
explode不能根据正则表达式进行拆分,但preg_split可能会有所帮助。 -
是的,当我发现正则表达式不能做所有事情时,我也做了手掌脸
-
请注意,由于 html 的嵌套性质,正则表达式可能不是处理它的最佳方式