我对删除以下标签中的所有文本很感兴趣:
<p class="wp-caption-text">Remove this text</p>
谁能给我一个关于如何在 php 中完成的想法?
非常感谢你
我对删除以下标签中的所有文本很感兴趣:
<p class="wp-caption-text">Remove this text</p>
谁能给我一个关于如何在 php 中完成的想法?
非常感谢你
去掉其中的标签和内容:
$content = preg_replace('/<p\sclass=\"wp\-caption\-text\">[^<]+<\/p>/i', '', $content);
或者如果你想保留标签:
$content = preg_replace('/(<p\sclass=\"wp\-caption\-text\">)[^<]+(<\/p>)/i', '$1$2', $content);
作为正则表达式的更高级别的替代方案。
您可以使用 DOM 进行处理。您可以使用 XPath 匹配您正在寻找的所有节点//p[@class="wp-caption-text"]
。
例如:
$doc = new DOMDocument();
$doc->loadHTML($yourHTMLasString);
$xpath = new DOMXPath($doc);
$query = '//p[@class="wp-caption-text"]';
$entries = $xpath->query($query);
foreach ($entries as $entry) {
$entry->textContent = '';
}
echo $doc->saveHTML();
试试这个:
$string = '<p class="wp-caption-text">Remove this text</p>';
$pattern = '/(.*<p .*>).*(<\/p>.*)/';
$replacement = '$1$2';
echo preg_replace($pattern, $replacement, $string);
如果它总是相同的标签,你可以简单地搜索字符串。使用产生的位置从它到结束标记的子字符串。或者您可以使用正则表达式,这里有一些可以帮助您的好方法。