如何在preg_split()中使用Multiple Delimiter

时间:2015-08-22 07:42:00

标签: php delimiter preg-split

我有这个preg_split函数,其模式可以搜索任何<br>

但是,我想在<br>之外添加更多模式。

如何使用下面的当前代码行完成?

preg_split('/<br[^>]*>/i', $string, 25);

提前致谢!

2 个答案:

答案 0 :(得分:2)

我无法评论这就是为什么我要回答, 告诉我你需要实施什么\, 或使用PHP live regex creator

等网站

答案 1 :(得分:1)

PHPs preg_split()函数只接受单个模式参数,而不是多个。因此,您必须使用正则表达式的强大功能来匹配您的分隔符。

这是一个例子:

preg_split('/(<br[^>]*>)|(<p[^>]*>)/i', $string, 25);

如果html行匹配和/或段落标记。

使用正则表达式工具测试一个表达式很有帮助。本地网站或基于网络的服务,例如https://regex101.com/

上面的示例文字

this is a <br> text
with line breaks <br /> and
stuff like <p>, correct?
像那样:

Array
(
    [0] => this is a
    [1] =>  text
with line breaks
    [2] =>  and
stuff like
    [3] => , correct?
)

但是请注意,对于解析html标记,DOM解析器可能是更好的选择。你没有冒险绊倒逃脱的角色等......