Php 从字符串中删除第一个元素

Php 从字符串中删除第一个元素,php,Php,我有一个由以下html组成的字符串: <p> </p> <h2>Content</h2> <p>Content</p> <h2>Content</h2> <p>Content</p> 所容纳之物 内容 所容纳之物 内容 我如何才能完全删除第一个元素(即使是它的内容),并留下字符串的其余部分 需要注意的是,第一个元素可以是任何东西或包含任何东西。您可以在换行符上分解,并使用

我有一个由以下html组成的字符串:

<p> </p>
<h2>Content</h2>
<p>Content</p>
<h2>Content</h2>
<p>Content</p>

所容纳之物 内容

所容纳之物 内容

我如何才能完全删除第一个元素(即使是它的内容),并留下字符串的其余部分


需要注意的是,第一个元素可以是任何东西或包含任何东西。

您可以
在换行符上分解
,并使用
数组\u shift
删除第一个元素:

$html = '<p> </p>
    <h2>Content</h2>
    <p>Content</p>
    <h2>Content</h2>
    <p>Content</p>';
$lines = explode(PHP_EOL, $html); // break into lines
array_shift($lines); // remove first element
$newHtml = implode(PHP_EOL, $lines); // rejoin lines
echo $newHtml;
$html=”

所容纳之物 内容

所容纳之物 内容

'; $lines=explode(PHP_EOL,$html);//插队 数组_移位($行);//删除第一个元素 $newHtml=内爆(PHP_EOL,$lines);//重接线路 echo$newHtml;
您可以使用以下内容:

$split = explode("<h2>", $str);
unset($split[0]);
$str = "<h2>" + implode("<h2>", $split);
$split=explode(“,$str”);
未结算($split[0]);
$str=”“+内爆(“,$split”);

您可以使用DOM库:

 $document = DOMDocument::loadHTML( $yourString );
 $childToRemove = $document->getElementsByTagName('p')->item(0);
 $childToRemove->parentNode->removeChild($childToRemove);


 //get the string
 return $document->saveHTML();

DOM操作在这里可能是最好的,但是下面的正则表达式将替换它找到的标记

<[^/]*/.*>

你说的第一要素是什么意思?是否有HTML标记?请检查-或搜索“从DOM文档中删除HTML元素”,您会发现很多示例SOP说第一个元素可以是任何东西。。。所以可能
$document->item(0)?这只是一个例子,这个例子非常好,而且有很多例子。问题看起来像“如何从DOM结构中删除某些内容”
preg_replace("/<[^\/]+\/.*>/", "", $str, 1);