<?php
/**
* @file
* This file was auto-generated by generate-includes.php and includes all of
* the core files required by HTML Purifier. Use this if performance is a
* primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS
* FILE, changes will be overwritten the next time the script is run.
*
* @version 4.9.3
*
* @warning
* You must *not* include any other HTML Purifier files before this file,
* because 'require' not 'require_once' is used.
*
* @warning
* This file requires that the include path contains the HTML Purifier
* library directory; this is not auto-set.
*/
/*! @mainpage
*
* HTML Purifier is an HTML filter that will take an arbitrary snippet of
* HTML and rigorously test, validate and filter it into a version that
* is safe for output onto webpages. It achieves this by:
*
* -# Lexing (parsing into tokens) the document,
* -# Executing various strategies on the tokens:
* -# Removing all elements not in the whitelist,
* -# Making the tokens well-formed,
* -# Fixing the nesting of the nodes, and
* -# Validating attributes of the nodes; and
* -# Generating HTML from the purified tokens.
*
* However, most users will only need to interface with the HTMLPurifier
* and HTMLPurifier_Config.
*/
/*
HTML Purifier 4.9.3 - Standards Compliant HTML Filtering
Copyright (C) 2006-2008 Edward Z. Yang
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/**
* Facade that coordinates HTML Purifier's subsystems in order to purify HTML.
*
* @note There are several points in which configuration can be specified
* for HTML Purifier. The precedence of these (from lowest to
* highest) is as follows:
* -# Instance: new HTMLPurifier($config)
* -# Invocation: purify($html, $config)
* These configurations are entirely independent of each other and
* are *not* merged (this behavior may change in the future).
*
* @todo We need an easier way to inject strategies using the configuration
* object.
*/
class HTMLPurifier
{
/**
* Version of HTML Purifier.
* @type string
*/
public $version = '4.9.3';
/**
* Constant with version of HTML Purifier.
*/
const VERSION = '4.9.3';
/**
* Global configuration object.
* @type HTMLPurifier_Config
*/
public $config;
/**
* Array of extra filter objects to run on HTML,
* for backwards compatibility.
* @type HTMLPurifier_Filter[]
*/
private $filters = array();
/**
* Single instance of HTML Purifier.
* @type HTMLPurifier
*/
private static $instance;
/**
* @type HTMLPurifier_Strategy_Core
*/
protected $strategy;
/**
* @type HTMLPurifier_Generator
*/
protected $generator;
/**
* Resultant context of last run purification.
* Is an array of contexts if the last called method was purifyArray().
* @type HTMLPurifier_Context
*/
public $context;
/**
* Initializes the purifier.
*
* @param HTMLPurifier_Config|mixed $config Optional HTMLPurifier_Config object
* for all instances of the purifier, if omitted, a default
* configuration is supplied (which can be overridden on a
* per-use basis).
* The parameter can also be any type that
* HTMLPurifier_Config::create() supports.
*/
public function __construct($config = null)
{
$this->config = HTMLPurifier_Config::create($config);
$this->strategy = new HTMLPurifier_Strategy_Core();
}
/**
* Adds a filter to process the output. First come first serve
*
* @param HTMLPurifier_Filter $filter HTMLPurifier_Filter object
*/
public function addFilter($filter)
{
trigger_error(
'HTMLPurifier->addFilter() is deprecated, use configuration directives' .
' in the Filter namespace or Filter.Custom',
E_USER_WARNING
);
$this->filters[] = $filter;
}
/**
* Filters an HTML snippet/document to be XSS-free and standards-compliant.
*
* @param string $html String of HTML to purify
* @param HTMLPurifier_Config $config Config object for this operation,
* if omitted, defaults to the config object specified during this
* object's construction. The parameter can also be any type
* that HTMLPurifier_Config::create() supports.
*
* @return string Purified HTML
*/
public function purify($html, $config = null)
{
// :TODO: make the config merge in, instead of replace
$config = $config ? HTMLPurifier_Config::create($config) : $this->config;
// implementation is partially environment dependant, partially
// configuration dependant
$lexer = HTMLPurifier_Lexer::create($config);
$context = new HTMLPurifier_Context();
// setup HTML generator
$this->generator = new HTMLPurifier_Generator($config, $context);
$context->register('Generator', $this->generator);
// set up global context variables
if ($config->get('Core.CollectErrors')) {
// may get moved out if other facilities use it
$language_factory = HTMLPurifier_LanguageFactory::instance();
$language = $language_factory->create($config, $context);
$context->register('Locale', $language);
$error_collector = new HTMLPurifier_ErrorCollector($context);
$context->register('ErrorCollector', $error_collector);
}
// setup id_accumulator context, necessary due to the fact that
// AttrValidator can be called from many places
$id_accumulator = HTMLPurifier_IDAccumulator::build($config, $context);
$context->register('IDAccumulator', $id_accumulator);
$html = HTMLPurifier_Encoder::convertToUTF8($html, $config, $context);
// setup filters
$filter_flags = $config->getBatch('Filter');
$custom_filters = $filter_flags['Custom'];
unset($filter_flags['Custom']);
$filters = array();
foreach ($filter_flags as $filter => $flag) {
if (!$flag) {
continue;
}
if (strpos($filter, '.') !== false) {
continue;
}
$class = "HTMLPurifier_Filter_$filter";
$filters[] = new $class;
}
foreach ($custom_filters as $filter) {
// maybe "HTMLPurifier_Filter_$filter", but be consistent with AutoFormat
$filters[] = $filter;
}
$filters = array_merge($filters, $this->filters);
// maybe prepare(), but later
for ($i = 0, $filter_size = count($filters); $i < $filter_size; $i++) {
$html = $filters[$i]->preFilter($html, $config, $context);
}
// purified HTML
$html =
$this->generator->generateFromTokens(
// list of tokens
$this->strategy->execute(
// list of un-purified tokens
$lexer->tokenizeHTML(
// un-p
没有合适的资源?快使用搜索试试~ 我知道了~
php编程使用的yii框架,对php开发非常有用,快速搭建php项目
共2000个文件
php:1645个
txt:142个
png:37个
0 下载量 152 浏览量
2024-02-17
09:47:47
上传
评论
收藏 7.37MB ZIP 举报
温馨提示
php编程使用的yii框架,对php开发非常有用,快速搭建php项目,存在案例及使用方法。php编程使用的yii框架,对php开发非常有用,快速搭建php项目,存在案例及使用方法。php编程使用的yii框架,对php开发非常有用,快速搭建php项目,存在案例及使用方法。php编程使用的yii框架,对php开发非常有用,快速搭建php项目,存在案例及使用方法。php编程使用的yii框架,对php开发非常有用,快速搭建php项目,存在案例及使用方法。php编程使用的yii框架,对php开发非常有用,快速搭建php项目,存在案例及使用方法。php编程使用的yii框架,对php开发非常有用,快速搭建php项目,存在案例及使用方法。php编程使用的yii框架,对php开发非常有用,快速搭建php项目,存在案例及使用方法。php编程使用的yii框架,对php开发非常有用,快速搭建php项目,存在案例及使用方法。php编程使用的yii框架,对php开发非常有用,快速搭建php项目,存在案例及使用方法。
资源推荐
资源详情
资源评论
收起资源包目录
php编程使用的yii框架,对php开发非常有用,快速搭建php项目 (2000个子文件)
generate.bat 4KB
yiic.bat 577B
yiic.bat 380B
jquery-ui.css 29KB
screen.css 11KB
screen.css 10KB
jquery.fancybox-1.3.1.css 8KB
main.css 6KB
highlight.css 5KB
form.css 3KB
jquery.treeview.css 3KB
main.css 3KB
ie.css 2KB
ie.css 2KB
styles.css 2KB
print.css 1KB
print.css 1KB
main.css 1KB
jquery.yiitab.css 897B
pager.css 878B
jquery.rating.css 825B
jquery.autocomplete.css 797B
styles.css 724B
sample.css 703B
styles.css 508B
ConfigForm.css 301B
testdrive.db 3KB
generate 4KB
treeview-default-line.gif 2KB
treeview-red-line.gif 2KB
treeview-gray-line.gif 2KB
treeview-black-line.gif 2KB
loading.gif 2KB
loading.gif 2KB
indicator.gif 2KB
treeview-famfamfam.gif 1KB
treeview-red.gif 1KB
treeview-gray.gif 1KB
treeview-default.gif 1KB
treeview-black.gif 1KB
ajax-loader.gif 847B
plus.gif 841B
minus.gif 837B
star.gif 815B
treeview-famfamfam-line.gif 807B
delete.gif 752B
bg.gif 243B
bg.gif 243B
file.gif 110B
folder.gif 106B
folder-closed.gif 105B
down.gif 55B
down.gif 55B
up.gif 54B
up.gif 54B
blank.gif 43B
git-gitignore 13B
git-gitignore 13B
git-gitignore 13B
git-gitkeep 0B
git-gitkeep 0B
git-gitkeep 0B
git-gitkeep 0B
git-gitkeep 0B
git-gitkeep 0B
git-gitkeep 0B
git-gitkeep 0B
git-gitkeep 0B
git-gitkeep 0B
git-gitkeep 0B
.gitignore 2B
.gitignore 2B
.gitignore 2B
.gitignore 2B
.gitignore 2B
.gitkeep 2B
.gitkeep 2B
.gitkeep 2B
.gitkeep 2B
hg-hgignore 162B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
hg-hgkeep 0B
.htaccess 14B
.htaccess 14B
.htaccess 14B
.htaccess 14B
.htaccess 14B
README.html 6KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
中年程序员一枚
- 粉丝: 1099
- 资源: 32
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功