针后获取文字?

tar*_*eld 2 php string

如果我在字符串中有以下文本:

<h4>Tom</h4>
<p>One Paragraph</p>
<p>Two Paragraph</p>
Run Code Online (Sandbox Code Playgroud)

我需要在该字符串上解析什么代码来获得这样的输出(如果我不知道<h4>标签内部是什么?

 <p>One Paragraph</p>
 <p>two Paragraph</p>
Run Code Online (Sandbox Code Playgroud)

谢谢!

Gum*_*mbo 10

您可以使用strstr以获取子字符串开头</h4>并删除</h4>with substr:

$needle = '</h4>';
$rest = substr(strstr($string, $needle), strlen($needle));
Run Code Online (Sandbox Code Playgroud)

从PHP 5.3开始,您还可以使用true指定第三个参数before_needle:

$rest = strstr($string, $needle, true);
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用explode:

list(,$rest) = explode($needle, $string, 2);
Run Code Online (Sandbox Code Playgroud)


Yac*_*oby 5

使用stripios开始</h4>.添加</h4>偏移的长度,然后使用substr获取偏移后的所有文本.

例:

$str = '....Your string...';
$offset = stripos($str, '</h4>');
if ( $offset === false ){
    //error, end of h4 tag wasn't found
}
$offset += strlen('</h4>');
$newStr = substr($str, $offset);
Run Code Online (Sandbox Code Playgroud)

我应该指出,如果HTML变得更复杂或者你不控制HTML,你可能想要使用HTML解析器.如果(例如)遇到< /h4 >而不是失败,它会更加强大并且不太可能失败</h4>.但是,在这种情况下,它是矫枉过正的.