PHP preg_replace删除字符串中的第一个HTML元素

use*_*298 2 php preg-replace

我想在PHP中删除html字符串的整个第一个元素(它总是一个段落).

我目前的方法是使用:

$passage = preg_replace('/.*?\b'.'</p>'.'\b/s', '', $passage, 1);
Run Code Online (Sandbox Code Playgroud)

由于中的特殊字符,这不起作用 </p>

我知道以下内容会在单词"one"出现之前删除字符串中的所有内容

$passage = preg_replace('/.*?\b'.'one'.'\b/s', '', $passage, 1);
Run Code Online (Sandbox Code Playgroud)

Flo*_*ern 6

如果你将它用作分隔符,你必须使用反斜杠转义'/':所以它是 <\/p>

编辑:您应该添加一个^标记字符串的开头.

另一种解决方案:您可以使用其他分隔符#.

完整代码 $passage = preg_replace('#^.*?</p>#is', '', $passage, 1);