如何在PHP中针对HTML字符串中的特定段落

如何在PHP中针对HTML字符串中的特定段落,php,Php,对于所有的PHP人员来说,这是一个简单的例子。 我有一个字符串,它表示HTML的一部分。它看起来像这样: <p>blablabla.....</p> <p>blablabla.....</p> <p>blablabla.....</p> <p>blablabla.....</p> <h3>hello</h3> <p>blablabla.....</p>

对于所有的PHP人员来说,这是一个简单的例子。 我有一个字符串,它表示HTML的一部分。它看起来像这样:

<p>blablabla.....</p>
<p>blablabla.....</p>
<p>blablabla.....</p>
<p>blablabla.....</p>
<h3>hello</h3>
<p>blablabla.....</p>
<p>blablabla.....</p> etc etc
这根本不起作用

HTML片段来自数据库,表示CMS中页面的可编辑部分

试试:

$html = '<xml><p>blablabla.....</p>
         <p>blablabla.....</p>
         <p>blablabla.....</p>
         <p>blablabla.....</p>
         <h3>hello</h3>
         <p>blablabla.....</p>
         <p>blablabla.....</p></xml>';
$xml = new SimpleXMLElement($html);

foreach ($xml as $key => $value) {
    if ( $key == 'h3' ) {
        var_dump($value);
        break;
    }
}
$html='blablabla

呜呜呜呜

呜呜呜呜

布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉

你好 呜呜呜呜

呜呜……呜呜; $xml=新的simplexmlement($html); foreach($xml作为$key=>$value){ 如果($key='h3'){ var_dump(价值); 打破 } }
请注意,我添加了
标记,因为应该有一些根元素包含其他项。

好的:

<?php

$string = explode( '<h3>', $string );
$string[0] = str_replace( '<p>', '<p class="foo">', $string[0] );
$string = implode( '<h3>', $string );

你是如何把HTML片段拉进去的?我不确定PHP是解决这类问题的最佳方法。
<?php

$string = explode( '<h3>', $string );
$string[0] = str_replace( '<p>', '<p class="foo">', $string[0] );
$string = implode( '<h3>', $string );