使用PHP,给定一个字符串,例如:this is a <strong>string</strong>
;我需要一个函数来剥离所有的HTML标签,以便输出为:this is a string
。有什么好的想法吗?谢谢。
PHP有一个内置函数可以完全满足你的需求:strip_tags
$text = '<b>Hello</b> World';
print strip_tags($text); // outputs Hello World
如果您想要处理损坏的HTML,您需要将其加载到DOM解析器中,然后提取文本。<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
Test paragraph. Other text
$text = "this is <10 a test";
var_dump(strip_tags($text));
string 'this is ' (length=8)
strip_tags
是您需要的函数。您可以像这样使用它:
$text = '<strong>Strong</strong>';
$text = strip_tags($text);
// Now $text = 'Strong'
我发现这比仅使用strip_tags()更有效,因为strip_tags()无法删除javascript或css:
$search = array(
"'<head[^>]*?>.*?</head>'si",
"'<script[^>]*?>.*?</script>'si",
"'<style[^>]*?>.*?</style>'si",
);
$replace = array("","","");
$text = strip_tags(preg_replace($search, $replace, $html));