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