Php 将段落替换为标题时,无法使str_replace()函数正常工作

Php 将段落替换为标题时,无法使str_replace()函数正常工作,php,Php,我有这样一个普通段落: <p>Hey there, I'm a normal paragraph. generated by a Wordpress blog</p> 这应该行得通,但我明白了: <h2>Hey there, I'm a normal paragraph. generated by a Wordpress blog<p>/p&gt;</p> 嘿,我是一个普通的段落。由Wordpress博客生成/p 你知道为

我有这样一个普通段落:

<p>Hey there, I'm a normal paragraph. generated by a Wordpress blog</p>
这应该行得通,但我明白了:

<h2>Hey there, I'm a normal paragraph. generated by a Wordpress blog<p>/p&gt;</p>
嘿,我是一个普通的段落。由Wordpress博客生成/p


你知道为什么吗?

你可以使用正则表达式来完成这类任务:

$first_sentence = preg_replace('/<p>([^<]+)<\/p>/', '<h2>$1</h2>', $first_sentence);

$first\u-sense=preg\u-replace('/([^我很确定函数是正确的,但我想在这里仔细检查一下,因为我是新手:)Ty,聪明:)请告诉我,如何修改preg_replace以仅处理第一组

。我想将其用于包含多个段落的文本。可以这样做吗?是的,有第四个参数
limit
,只需将其设置为1。(请参阅)Ty即可。正则表达式非常有用;我将开始学习它们。
<h2>Hey there, I'm a normal paragraph. generated by a Wordpress blog<p>/p&gt;</p>
$first_sentence = preg_replace('/<p>([^<]+)<\/p>/', '<h2>$1</h2>', $first_sentence);