我有一个html代码:
<a href="#">foo</a>bar is dummy string<p>hello</p>
我想要一个输出
<a href="#">foo</a><p>hello</p>
我正在搜索 PHP 代码以获得上述结果。仅过滤要输出的 html 嵌入字符串。我知道 strip_tags() 函数将删除 html 标签并仅输出字符串。
尝试这个
$html = <<<_HTML
<!DOCTYPE html>
<html>
<head><title>Test</title></head>
<body>
<a href="#">foo</a>bar is dummy string<p>hello</p>
</body>
</html>
_HTML;
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$textNodes = $xpath->query('/html/body/a/following-sibling::text()[1]');
if ($textNodes->length) {
$node = $textNodes->item(0);
$node->parentNode->removeChild($node);
}
echo '<pre>', htmlspecialchars($doc->saveHTML()), '</pre>';
结果是
<!DOCTYPE html>
<html><head><title>Test</title></head><body>
<a href="#">foo</a><p>hello</p>
</body></html>
让我们在 $html 中获取您的 html 代码
$string = strip_tags($html);
$final = str_replace($string , "", $html);
它可能会帮助你。有人回答了同样的问题,不幸的是他已经删除了。
谢谢
用于regex
执行此类替换...