Preg_replace只在第一个字母/单词之前出现一次

时间:2015-10-27 12:04:30

标签: php regex preg-replace

我知道如何替换<br>的第一次出现。例如:

$text = preg_replace('/<br>/','',$text,1);

但是,我需要在第一个字母/单词之前删除第一个<br>

删除if:

<br>
A storm is coming...

请勿删除if(即使它是第一次出现):

A storm is coming...
<br>

2 个答案:

答案 0 :(得分:0)

使用正向前瞻断言来检查<br>后面是否跟有单词字符。

$text = preg_replace('/<br>(?=\s*\w)/','',$text,1);

$text = preg_replace('/<br>(?=\s*[a-z])/i','',$text,1);

答案 1 :(得分:0)

为什么不使用$text = preg_replace('/^(\r|\t|\n|\s)*<br>/g','',$text);

如果字符串以0或更多回车符/空格/制表符后跟<br>开头,则会删除<br>

它就像一个字符串修剪加一个<br>去除器。比<br>

之类的简单preg_replace('/^<br>*/g','',$text)卸妆效率更高