我想解析一下:

<p>
  Text1
  <b>Text2 Text3</b>
  Text4
<p><br>
Text5

进入这个数组:
[
  "Text1",
  "Text2 Text3",
  "Text4",
  "Text5"
]

目前,我正在使用strip_tags,但这提供的内容不太详细:
"Text1 Text2 Text3 Text4 Text5"

有什么更好的方法来获得预期的结果?

我的应用程序是电子邮件处理。我想做一些二合一和三合一的分析,但不想跨HTML元素边界选取图形。

最佳答案

使用标签作为分隔符,以修剪结果并删除空字符串

$array = array_filter(array_map('trim', preg_split('/<[^>]+>/', $str)));

结果
Array (
    [1] => Text1
    [2] => Text2 Text3
    [3] => Text4
    [5] => Text5 )

关于php - PHP strip_tags并保留分隔,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31390181/

10-10 06:55