html引入php文件中的函数,在b2core框架和simple_html_dom.php文件里面都有一个load()函数...
在simple_html_dom.php文件里面,有一个load()函数的定义。
// load html from string
function load($str, $lowercase=true, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
{
global $debugObject;
// prepare
$this->prepare($str, $lowercase, $stripRN, $defaultBRText, $defaultSpanText);
// strip out comments
$this->remove_noise("''is");
// strip out cdata
$this->remove_noise("''is", true);
// Per sourceforge http://sourceforge.net/tracker/?func=detail&aid=2949097&group_id=218559&atid=1044037
// Script tags removal now preceeds style tag removal.
// strip out
$this->remove_noise("'<\s*script[^>]*[^/]>(.*?)<\s*/\s*script\s*>'is");
$this->remove_noise("'<\s*script\s*>(.*?)<\s*/\s*script\s*>'is");
// strip out
$this->remove_noise("'<\s*style[^>]*[^/]>(.*?)<\s*/\s*style\s*>'is");
$this->remove_noise("'<\s*style\s*>(.*?)<\s*/\s*style\s*>'is");
// strip out preformatted tags
$this->remove_noise("'<\s*(?:code)[^>]*>(.*?)<\s*/\s*(?:code)\s*>'is");
// strip out server side scripts
$this->remove_noise("'(<\?)(.*?)(\?>)'s", true);
// strip smarty scripts
$this->remove_noise("'(\{\w)(.*?)(\})'s", true);
// parsing
while ($this->parse());
// end
$this->root->_[HDOM_INFO_END] = $this->cursor;
$this->parse_charset();
// make load function chainable
return $this;
}
注意到这里,上面的一个函数通过正则表达式去掉了标签内部的函数。如果,我们要抓取内部的内部的内容的时候,就不能再利用框架了。
对比,我们的系统框架b2core内部也有一个加载系统的文件或类的函数load()
/* B2 系统函数
* load($path,$instantiate) 可以动态载入对象,如:控制器、Model、库类等
* $path 是类文件相对 app 的地址
* $instantiate 为 False 时,仅引用文件,不实例化对象
* $instantiate 为数组时,数组内容会作为参数传递给对象
*/
function &load($path, $instantiate = TRUE )
{
$param = FALSE;
if(is_array($instantiate)) {
$param = $instantiate;
$instantiate = TRUE;
}
$file = explode('/',$path);
$class_name = array_pop($file);
$object_name = md5($path);
static $objects = array();
if (isset($objects[$object_name])) {
if($objects[$object_name] == TRUE && $instantiate == TRUE) {
if ($param == FALSE) return new $class_name();
return new $class_name($param);
}
return $objects[$object_name];
}
require(APP.$path.'.php');
if ($instantiate == FALSE) $objects[$object_name] = TRUE;
elseif ($param) $objects[$object_name] = new $class_name($param);
else $objects[$object_name] = new $class_name();
return $objects[$object_name];
}
html引入php文件中的函数,在b2core框架和simple_html_dom.php文件里面都有一个load()函数...相关推荐
- python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。...
[单选题]李明在他所属的公司工作五年,每天都很认真地处理繁杂的事情,同事们都夸他认真,但是依然没有建树,这是因为: [多选题]品牌标志的作用表现在 [单选题]新产品开发的第一个阶段是_______. ...
- python文件读取方法read(size)的含义是_在Python中可使用read([size])来读取文件中的数据,如果参数size省略,则读取文件中的()。(4.0分)_学小易找答案...
[单选题]文本文件存储的是(),由若干文本行组成,通常每行以换行符 '\n' 结尾.(4.0分) [单选题]()属性是返回被打开文件的访问模式.(4.0分) [单选题]重力坝是由砼或( )修筑而成的大 ...
- R语言:从 csv 文件中读取数据,然后将数据写入 csv 文件
在 R 中,我们可以从存储在 R 环境外部的文件读取数据.我们还可以将数据写入将由操作系统存储和访问的文件中.R可以读取和写入各种文件格式,如csv,excel,xml等. 在本章中,我们将学习从 c ...
- 【python学习】批量读取Materials Studio的sdf文件,从文件中提取特定信息并按列存储在CSV文件
批量读取Materials Studio的sdf文件,从文件中提取特定信息并按列存储在CSV文件 Materials Studio在执行dmol3模块中结构优化任务时,任务结束后会产生一系列的输出文件 ...
- java图的建立field_《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的...
0.前言 了解JVM虚拟机原理是每一个Java程序员修炼的必经之路.但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述 ...
- 使用Python批量筛选上千个Excel文件中的某一行数据并另存为新Excel文件(下篇)
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 野火烧不尽,春风吹又生. 大家好, ...
- 【正则表达式高级day01】正则表达式概述+在一个文件中,查找出itcast开头的语句+在一个文件中,找到含有itcast的语句+在一个文件中,找到邮箱为163或者126的所有邮件地址
文章目录 正则表达式概述 思考 场景1:在一个文件中,查找出itcast开头的语句 场景:在一个文件中,找到含有itcast的语句 场景:在一个文件中,找到邮箱为163或者126的所有邮件地址 正则表 ...
- 编写一个C程序,实现以下功能:用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为:int strcmp(char *p1,char *p2);设p1指向字符串s
题目描述: 编写一个C程序,实现以下功能: 用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为: int strcmp(char *p1,char *p2); 设p1指向字符串s ...
- VScode中html怎么引入js,vscode中如何使用typescript,如何自动编译成js文件
使用vscode创建一个typescript程序 1:介绍 typescript是一个跨平台的编程语言,专门用于前端的语言,是由微软开发,在2013年6月正式发布,它是javascript的超集,扩展 ...
最新文章
- elasticsearch使用指南之Elasticsearch Document Index API详解、原理与示例
- php如何返回数据请求数据格式化,PHP以json或xml数据格式返回请求数据的封装代码...
- GMM(Gaussian mixture model, 高斯混合模型)
- wxwidget编译安装_wxWidgets编译安装方法 | 学步园
- hexo 环境变量_小白使用 Github + Hexo 从 0 搭建一个博客
- css clearfix_如何使用CSS清除浮点数(clearfix)?
- SQLi LABS Less-39
- string的各种函数(系统学习)
- Jquery事件委托之Safari
- Linux怎么查看编译ARM平台程序的编译器arm-linux-gcc
- mac os nginx php mysql
- OpenDrive格式的高精度地图
- 获取p12证书详情,返回证书详情实体
- IDEA SpringBoot引入外部jar并打包
- 应届生Java后台开发面试整理(含答案,不定期更新)
- 直流电源EMI滤波器的设计
- SIFT算法原理(2)-极值点的精确定位
- OpenMAX编程-音视频等组件介绍
- 物联网安全问题与对策
- R语言中的countif——dplyr包中的filter函数和nrow