HTML 处理功能由 ginkgo\Html
类完成,如:
use ginkgo\Html;
$str = '<div>test</div>'
echo Html::encode($html);
输出结果
<div>test</div>
encode()
HTML 编码
function encode( $html )
参数
html
HTML 代码返回
decode()
HTML 解码
function decode( $string )
参数
string
待解码的字符串返回
fillImg()
将 HTML 内的图片 URL 补充完整
0.2.0
新增
function fillImg( $content, $baseUrl )
参数
content
HTML 内容baseUrl
基本 URL返回
图片具备完整的 URL 的 HTML 内容,如:
HTML 为 <div><img src="./image/logo.png"></div> 基本 URL 为 https://www.baigo.net, 补充完整后为 <div><img src="https://www.baigo.net/image/logo.png"></div>
例如:过滤所有 HTML 标签
use ginkgo\Html;
$html = Html::instance();
$str = '<div>test</div>'
echo $html->stripTag($str);
输出结果
test
如果要保留指定的标签,可以这样:
use ginkgo\Html;
$html = Html::instance();
$tagAllow = array('h1', 'p');
$html->setTagAllow($tagAllow);
$str = '<div><p>test</p></div>'
$html->stripTag($str);
输出结果
<p>test</p>
例如:过滤所有 HTML 属性
use ginkgo\Html;
$html = Html::instance();
$str = '<div id="test">test</div>'
echo $html->stripAttr($str);
输出结果
<div>test</div>
如果要保留指定的属性,可以这样:
use ginkgo\Html;
$html = Html::instance();
$attrAllow = array('id', 'class');
$html->setAttrAllow($attrAllow);
$str = '<div id="test" title="test">test</div>'
echo $html->stripAttr($str);
输出结果
<div id="test">test</div>
还可以设置特例,保留特殊标签的特殊属性:
use ginkgo\Html;
$html = Html::instance();
$attrExcept = array(
'a' => array('href', 'class'), //保留 a 标签的 href、class 属性
'span' => array('class') //保留 span 标签的 class 属性
);
$html->setAttrExcept($attrExcept);
$str = '<div id="test" title="test"><a href="#" id="test_href">test</a></div>'
echo $html->stripAttr($str);
输出结果
<div><a href="#">test</a></div>
忽略标签,即不对这些标签进行过滤:
use ginkgo\Html;
$html = Html::instance();
$attrIgnore = array('a', 'span'); // 不对这些标签进行过滤
$html->setAttrIgnore($attrIgnore);
$str = '<div id="test" title="test"><a href="#" id="test_href">test</a></div>'
echo $html->stripAttr($str);
输出结果
<div><a href="#" id="test_href">test</a></div>