Php Preg_replace不删除找到的标记之间的文本

Php Preg_replace不删除找到的标记之间的文本,php,regex,wordpress,preg-replace,Php,Regex,Wordpress,Preg Replace,我试图使用preg_replace删除字符串中的所有标题。它是wordpress摘录功能的一部分,删除帖子正文中的所有Title标记,因为它们会打断段落的流动 因此,目标是在字符串中,例如 “这里有一些信息。一个新的部分这里有一些更多的信息。” 我的输出字符串是 “这里是一些信息。这里是一些更多信息。” 我很确定我的正则表达式是正确的。但是preg_replace似乎没有删除标题标记 $regex=array( '\(.*?)\', '\(.*?)\', '\(.*?)\', '\(.*?)\'

我试图使用preg_replace删除字符串中的所有标题。它是wordpress摘录功能的一部分,删除帖子正文中的所有
Title
标记,因为它们会打断段落的流动

因此,目标是在字符串中,例如

“这里有一些信息。

一个新的部分这里有一些更多的信息。

我的输出字符串是

“这里是一些信息。

这里是一些更多信息。

我很确定我的正则表达式是正确的。但是preg_replace似乎没有删除标题标记

$regex=array(
'\(.*?)\',
'\(.*?)\',
'\(.*?)\',
'\(.*?)\',
'\(.*?)\',
'\(.*?)\'
);
preg_替换($regex,,$text);
标签中的文本保持不变,即

“这里有一些信息。

一个新的部分这里有一些更多的信息。


编辑:没有意识到我的查询缺少分隔符。与其他问题类似,但不会通过谷歌搜索“delimiter”错误找到它们,因为没有收到错误。由于当时无法访问ftp,因此未在网站上打开Php错误报告。只需通过wordpress主题编辑器进行编辑。可以想象其他人也会有同样的问题,这个问题可能会成为他们将来的相关参考。

您的示例代码没有收到任何警告吗? 以下各项工作正常

$text = "<p>Here is some info.</p><h2>A new section</h2><p>Here is some more info.</p>";
$regex = array (
    '#\<h1[^]]*\>(.*?)\</h1\>#',
    '#\<h2[^]]*\>(.*?)\</h2\>#',
    '#\<h3[^]]*\>(.*?)\</h3\>#',
    '#\<h4[^]]*\>(.*?)\</h4\>#',
    '#\<h5[^]]*\>(.*?)\</h5\>#',
    '#\<h6[^]]*\>(.*?)\</h6\>#'
);

$replaced = preg_replace($regex, '', $text);

echo $text;
echo PHP_EOL;
echo $replaced;
$text=“这里有一些信息。

一个新的部分这里有一些更多信息。

”; $regex=数组( '#\(.*?)\#', '#\(.*?)\#', '#\(.*?)\#', '#\(.*?)\#', '#\(.*?)\#', '#\(.*?)\#' ); $replaced=preg_replace($regex,,$text); echo$文本; echo PHP_EOL; 替换了$echo;
编辑


检查是否禁用了php警告

可能
preg_replace($regex,$1',$text)?不,那也不行。我很确定我的整个preg_替换实际上是因为某种原因失败的。当我将其设置为
$text=preg\u replace($regex,,$text)时我什么都没有得到警告来自没有正则表达式分隔符,这是您答案中的哈希标记(仅供澄清)