如何在 preg_split() 中使用多个定界符

How to use Multiple Delimiter in preg_split()

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

不过,除了<br>之外,我还想给它添加更多的模式。

我如何使用下面的当前代码行来做到这一点?

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

提前致谢!

我不能评论这就是为什么我要回答的原因, 告诉我你需要实施什么 \, 或使用像 PHP live regex creator

这样的网站

PHPs preg_split() 函数只接受一个模式参数,而不是多个。所以你必须使用正则表达式的力量来匹配你的分隔符。

这将是一个例子:

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

If 匹配 html 换行符 and/or 段落标记。

使用正则表达式工具测试表达式很有帮助。本地服务或基于 Web 的服务,例如 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 解析器可能是更好的选择。您不会冒险被转义字符等绊倒...