API 文档 - ginkgo


ginkgo\Html

HTML 处理


类摘要

namespace ginkgo;

class Html {
    // 属性
    public $html          = '';
    public $tagAllow      = array();
    public $tagIgnore     = array();
    public $attrAllow     = array();
    public $attrExcept    = array();

    protected static $instance;

    // 方法
    public static instance() : object
    public static encode( string $string ) : string
    public static decode( string $string ) : string
    public static fillImg( string $content, string $baseUrl ) : string
    public stripTag( string $html ) : string
    public stripAttr( string $html ) : string
    public setTagAllow( mixed $tag )
    public setTagIgnore( mixed $tag )
    public setAttrAllow( mixed $attr )
    public setAttrExcept( mixed $tag [, mixed $attr ] )

    protected __construct()
    protected __clone()

    private tagAllowProcess() : string
    private findEle() : mixed
    private findAttr( array $nodeRows ) : array
    private removeAttr( array $nodeRows )
    private isAttrExcept( string $ele_name, string $attr_name ) : bool
    private createAttr( string $new_attrs, string $name, string $value ) : string
    private protect( string $html ) : string
}

成员目录

- 权限 类型 描述
属性 - - -
$html public string HTML 源代码
$tagAllow public array 允许保留的标签
$attrAllow public array 允许保留的属性
$attrExcept public array 特例
$tagIgnore public array 忽略标签
[$instance] protected object static 本类实例
方法 - - -
instance() public static 实例化
encode() public static HTML 编码
decode() public static HTML 解码
fillImg() public static 补全 HTML 标签的图片地址部分
stripTag() public 剔除标签
stripAttr() public 剔除属性
setTagAllow() public 设置允许的标签
setTagIgnore() public 设置忽略的标签
setAttrAllow() public 设置允许的属性
setAttrExcept() public 设置特例
__construct() protected 构造函数,无实际功能,仅供限制为单例模式使用
__clone() protected 克隆,无实际功能,仅供限制为单例模式使用
tagAllowProcess() private 处理保留标签
findEle() private 搜索需要处理的元素
findAttr() private 搜索属性
removeAttr() private 移除属性
isAttrExcept() private 判断是否特例
createAttr() private 创建属性
protect() private 特殊字符转义

$tagAllow 允许保留的标签

public $tagAllow;

一维数组,例如:

array('p', 'div');

$tagIgnore 忽略标签

public $tagIgnore;

一维数组,例如:

array('span', 'img');

$attrAllow 允许保留的属性

public $attrAllow;

一维数组,例如:

array('id', 'class', 'title')

$attrExcept 特例

public $attrExcept;

二维数组,键名表示标签,值表示属性,例如:

array(
    'a'    => array('href', 'class'),
    'span' => array('class'),
);

instance() 实例化方法

public static function instance() : object

参数

返回

  • 本类的实例

encode() HTML 编码

public static function encode( string $string ) : string

参数

  • string HTML 代码

返回

  • 编码后的 HTML

decode() HTML 解码

public static function decode( string $string ) : string

参数

  • string 待解码的字符

返回

  • 解码后的 HTML

fillImg() 补全 HTML 标签的图片地址部分

public static function fillImg( string $content, string $baseUrl ) : string

参数

  • content HTML 内容
  • baseUrl 基本路径

返回

  • 处理后的 HTML

stripTag() 剔除标签

public function stripTag( string $html ) : string

参数

  • html HTML 代码

返回

  • 处理后的 HTML

stripAttr() 剔除属性

public function stripAttr( string $html ) : string

参数

  • html HTML 代码

返回

  • 处理后的 HTML

setTagAllow() 设置允许的标签

public function setTagAllow( mixed $tag )

参数

  • tag 标签,字符串或一维数组

返回


setTagIgnore() 设置忽略的标签

public function setTagIgnore( mixed $tag )

参数

  • tag 标签,字符串或一维数组

返回


setAttrAllow() 设置允许的属性

public function setAttrAllow( mixed $attr )

参数

  • attr 属性,字符串或一维数组

返回


setAttrExcept() 设置特例

public function setAttrExcept( mixed $tag [, mixed $attr ] )

参数

  • tag 标签,字符串或数组

    为字符串时表示标签,为数组时,结构参照 $attrExcept

  • attr 属性 0.2.0 新增

    tag 为字符串时为必须,值可以是字符串或一维数组,当 tag 为数组时自动忽略。

返回


tagAllowProcess() 处理保留标签

private function tagAllowProcess() : string

参数

返回

  • HTML 元素

findEle() 搜索需要处理的元素

private function findEle() : mixed

参数

返回

  • 需要处理的元素

findAttr() 搜索属性

private function findAttr( array $nodeRows ) : array

参数

  • nodeRows 属性节点

返回

  • 属性节点

removeAttr() 获取文件的扩展名

private function removeAttr( array $nodeRows )

参数

  • nodeRows 属性节点

返回


isAttrExcept() 判断是否特例

private function isAttrExcept( string $ele_name, string $attr_name )

参数

  • ele_name 元素
  • attr_name 属性

返回

  • 布尔值

createAttr() 创建属性

private function createAttr( string $new_attrs, string $attr, string $value ) : string

参数

  • new_attrs 新属性
  • attr 属性
  • value 属性值

返回

  • HTML 片段

protect() 特殊字符转义

private function protect( string $html ) : string

参数

  • html HTML 代码

返回

  • 处理后的 HTML