我有一大堆文字,如:
<b>First content</b> followed by <b>second content</b>
OR
"First content" and then "second content"
我想创建一个看起来像的数组: [1] =&gt; “第一内容” [2] =&gt; “第二内容”
从任何一个例子中,我得到两个标签之间的内容。我已经弄清楚如何获得第一个实例,但无法找出使它递归的最佳方法。
答案 0 :(得分:2)
如果您希望在特定标记之间提取所有内容,最好使用像simplehtmldom这样的HTML DOM解析器。
答案 1 :(得分:2)
如果你知道“第一内容”和“第二内容”之间究竟是什么,请使用explode
:
http://php.net/manual/en/function.explode.php
e.g。
$values = explode("followed by", $yourtext);
(如果你只想要明文,请在你的数组元素上使用“strip_tags”)
答案 2 :(得分:2)
基本上你需要一个“START(。+?)END”形式的正则表达式,例如
$a = "<b>First content</b> followed by <b>second content</b>";
preg_match_all("~<b>(.+?)</b>~", $a, $m);
print_r($m[1]);
答案 3 :(得分:0)
<?php
$yourArray = split(" followed by ", $yourString);
?>
只要在要分解为数组的每个值之间使用相同的文本,就可以使用此示例。
答案 4 :(得分:0)
$string="<b>First content</b> followed by <b>second content</b>";
$s = explode("followed by", strip_tags($string));
print_r($s);