0

我有一些我想解析的文本

$str = "text1<br/>text2<br/>text3

我试过使用

     print_r( preg_split("<br/>", $str));

但它没有给我想要的输出

4

2 回答 2

1

尝试以下操作:

$str = "text1<br/>text2<br/>text3";
print_r(preg_split("/<br\/>/", $str));

我假设"在末尾缺少结束引号$str = "text1<br/>text2<br/>text3"只是一个错字。

看看这个页面如何指定string $pattern参数: http: //php.net/manual/en/function.preg-split.php

于 2013-07-21T18:25:45.520 回答
0

这是因为您没有使用正确的正则表达式。有没有理由不能使用explode()?正则表达式是有问题的,有时过于复杂,而且速度要慢得多。如果您知道您将始终在 BR 标签处进行拆分,那么explode 会更有效。

用正则表达式解析 HTML 是个坏主意,但你可以这样:

var_dump(preg_split('/(<br\ ?\/?>)+/', $str));
于 2013-07-21T18:19:03.720 回答