与preg_match_all相反的函数或代码

时间:2018-01-19 20:16:55

标签: php

这里我有一个内置的php函数,在这个例子中我用来将span标签内的内容转换为数组。

preg_match_all('/<span.*?<\/span>/', $var, $newVar);

是否可以将span标记之间的其他文本放入数组中。

<p>i am a sentence <span id="blah"> im content inside of the span </span> im another sentence <span id="anId">i m another span content</span> im the last sentence in this p tag <span id="last">im the third span tag in this p tag<span></p>

更具体地说 上面的函数会输出上面的p标签作为span标签的数组,里面只有文本,周围没有标签,这是很好的第一步,它看起来像这样

array ([0] => im content inside of the span [1] => i m another span content [2] => im the third span tag in this p tag )

这是span标签内的文本,我想用这些来破坏字符串。

,现在我想做相反的事情并将它们之间的字符串作为数组。

我希望得到

的输出
array ([0] => i am a sentence [1] => im another sentence [2] => im the last sentence in this p tag )

这是span标签之外的文本 当然这有可能吗?

1 个答案:

答案 0 :(得分:0)

使用preg_split(),使用与标记匹配的正则表达式作为分隔符。

$array = preg_split('/<[^>]*>/', $var);