php 解析html的工具 嵌入式

PHP Simple HTML Dom Parser使用php5+编写,支持以一种超级简单的方式操纵HTML。 
    * 需要php5以上版本 
    * 支持html标签纠错 
    * 支持jQuery风格选择器 
    * 非常简洁的从HTML中抽取内容 加载整个页面,然后按HTML标记拆成树,然后再通过查找节点,最后读取需要节点的内容文本即可

index.php iframe包含采集页防止采集页js,css等与本站冲突

Java代码  

  1. <div class="maincon">   
  2. <iframe id="mainiframe" frameborder=0 width="100%" height="960"  
  3. marginheight=0 marginwidth=0 scrolling=no src="http://localhost/appreciate/mobile/recharge"></iframe>   
  4. </div>  

iframe中修改采集页的form提交action,提交到本站进行处理,将提交的数据在模拟采集页提交。(一个表单做2次提交

http://hudeyong926.iteye.com/blog/903490

Java代码  

  1. public function rechargeAction()  
  2. {  
  3.     include_once('lib/simple_html_dom.php');  
  4.     $html = file_get_html(self::RECHARGE_URL);  
  5.     $post_url = $html->find('form', 0)->action; //form action  
  6.     $html->getElementById('mobileNo')->outertext = $html->find('input[id=mobileNo]', 0)->outertext . "<input type='hidden' name='post_url' value='$post_url'>"; //form中传递采集post_url  
  7.     //$html->find('div.more-com',0)->outertext = '';  
  8.     $html->find('form', 0)->setAttribute('action', 'http://localhost/appreciate/mobile/rechargePost'); //修改form action  
  9.     $html->find('td a', 1)->setAttribute('href', 'http://localhost/appreciate/mobile/history'); //修改 订单查询链接  
  10.     $ereg_rule_src_script = '/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/bank\/ddl\/js\/utility\/utility.index.js?/i';  
  11.     foreach ($html->find('script') as $script) {  //正则替换js   
  12.         $script->src = preg_replace($ereg_rule_src_script, 'http://www.test.com/js/lib/dianyin_utility_index.js', $script->src);  
  13.     }  
  14.     $content = $html->save();  
  15.     $html->clear();  
  16.     unset($html);  
  17.     die($content);  
  18. }  

 采集提交后页面

 
 simple_html_dom修改后

Java代码  

  1. public function rechargeComfirmPage($post_url, $pdata){  
  2.     include_once("lib/Snoopy.class.php");  
  3.     $snoopy = new Snoopy; //Snoopy post提交  
  4.     $snoopy->fetch(self::RECHARGE_URL); //获取所有内容  
  5.     $snoopy->setcookies();  
  6.     $cookies = $snoopy->cookies;  
  7.     $snoopy->cookies = $cookies;  
  8.   
  9.     $snoopy->submit($post_url, $pdata);//$pdata为提交的数组,$post_url采集提交url  
  10.     return $snoopy->results;  
  11. }  
  12.   
  13. public function rechargePostAction(){  
  14.     $pdata['tranCode']          = $this->getRequest()->getPost('tranCode');  
  15.     $pdata['userCode']          = $this->getRequest()->getPost('userCode');  
  16.     $pdata['runName']           = $this->getRequest()->getPost('runName');  
  17.     $post_url      = $this->getRequest()->getPost('post_url');  
  18.     $this->save2db();  
  19.     $results = $this->rechargeComfirmPage($post_url, $pdata);  
  20.     include_once('lib/simple_html_dom.php');  
  21.     $html = str_get_html($results);//采集提交后页面  
  22.     //修改UI  
  23.     $rate = Mage::helper('recharge/data')->getCurrencyToMoney();  
  24.     $ttt= $this->getLayout()->createBlock('virtualcurrency/customer_accounts_detail')->getCurrentMoney();  
  25.     $html->find('div[id=testPoints]',0)->innertext = $html->find('div[id=testPoints]',0)->innertext*$rate."<input type='button'>";  
  26.     $html->find('div[id=test]',0)->innertext='<table><tr>  
  27.             <td width="30%" align="right"><label class="form-label">您的数:</label></td>  
  28.             <td align="left">  
  29.                 <p class="B Font14 ml10 ">  
  30.                     '.$ttt.'  
  31.                 </p>  
  32.             </td>  
  33.         </tr>  
  34.         <tr>  
  35.             <td width="30%" align="right"><label class="form-label">绑定手机号:</label></td>  
  36.             <td align="left">  
  37.                 <p class="B Font14 ml10 ">  
  38.                     '.$this->_getCustomer()->getMobile().'  
  39.                 </p>  
  40.             </td>  
  41.         </tr></table>';  
  42.   
  43.     die($html);  
  44. }  
时间: 2024-09-12 10:13:31

php 解析html的工具 嵌入式的相关文章

Lua CJSON 1.0.3发布 JSON解析和编码工具

Lua CJSON是一款为Lua提供快速的JSON解析和编码工具.其特点是:比最快的Lua库的速度还要快10至20倍,全力支持JSON UTF-8,除了Lua/LuaJIT以外的都没有依赖性,易于安装.该软件已经通过Linux.FreeBSD.OSX and Windows平台测试,用户可以放心使用. Lua CJSON 1.0.3版本修正了一个对象的编码错误. 软件信息:http://www.kyne.com.au/~mark/software/lua-cjson.php 下载地址: http

解析布线技巧提高嵌入式系统PCB的信号完整性

PCB(print circuit board,印制电路板)是电子产品中电路元件和器件的基本支撑件,其设计质量 往往直接影响嵌入式系统的可靠性和兼容性.以往,一些低速电路板中,时钟频率一般只有10 MHz左右,电路板或封装设计的主要挑战就是如何在双层板上布通所 有的信号线以及如何在组装时不破坏封装.由于互连线不曾影响系统性能, 所以互连线的电气特性并不重要.在这种意义下对信号低速电路板中的互连线是畅通透明的. 但是随着嵌入式系统的发展,采用的电路基本上都是高频电路,由于时钟频率的提高,信号上升沿

Lua CJSON 1.0.4发布 JSON解析和编码工具

Lua CJSON是一款为Lua提供快速的JSON解析和编码工具.其特点是:比最快的Lua库的速度还要快10至20倍,全力支持JSON UTF-8,除了Lua/LuaJIT以外的都没有依赖性,易于安装.该软件已经通过Linux.FreeBSD.OSX and Windows平台测试,用户可以放心使用. Lua CJSON 1.0.4该版本修复了一个逗号十进制分隔符(cs_CZ,de_DE)语言环境下的数字转换. 软件信息:http://www.kyne.com.au/~mark/software

windows平台下解析apk的工具:apkUtil

Run on windows with JRE, it's used to get the application information of a apk file, include icon, package name, app name, permission needed, feature needed, and so on. apkUtil是一个用来解析apk安装包的工具,通过它可以获取一个安装包的图标.程序名.所需android平台,权限等信息,并将其转换为java对象.该工具依赖于

实例解析站长查询工具的流量统计是否准确

  对于购买广告位的站长来说,其实大部分站长都是怀着可以给自己网站带来一定的流量,虽然有时候不多,但总比没有的好吧.而且购买链接的最终目的也是为了提高排名获取更多的流量.所以,流量是网站最终的归宿.从网站的流量来分析网站整体情况确实相当的有用.而很多站长在买广告位时,都特别在意这一点,对于一些PR高权重高的有什么用呢.这些都可以作弊优化上来的,最直接的方法就是看流量,就像笔者的一个网站权重是4了,每天的流量才一两百,做站一年半了,这样有什么用呢?所以,购买广告位看流量决定不会错的.今天讲解一下查

PhotoshopCS6教程:详细解析内容识别工具

Photoshop CS5 版本中有一个十分出色的工具.有人将其称之为"魔棒工具",但是Photoshop的工程师则称它为"内容识别填充".那么这个工具有何用途呢?好吧,你猜对了,它是用来填充的.它利用选区周围综合性的细节信息来创建一个填充区域,来从图片的选区中替换或者移除不需要的物体. 而在新版本PS CS6中,有一个更赞的工具叫做"内容识别移动工具",这个工具有两个选项:移动和延伸."移动"选项允许你将物体从A移到B.第一

ExcelReader(解析Excel的工具类)

package cn.com.css.common.util; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.apache.poi.hssf.usermodel.HSSFCell; import or

数据库内核月报 - 2015 / 10-PgSQL · 特性分析 · pg_receivexlog工具解析

最近遇到这样一个需求:在做时间点恢复时,需要从主库获取最近生成的那些xlog文件(需要获取的xlog文件名是已知的).怎么办?一个想法是,利用scp等工具,直接从主库下载,这要求我们处理整个下载过程,比较麻烦.其实PG已经为我们准备了一个xlog传输工具--pg_receivexlog.这个工具可能很多人都没注意到,而且官方文档中介绍的很少.在这里我们为大家解析一下这个工具. 能做什么 pg_receivexlog能为我们做什么呢?它能够从一个PG服务器,获取你想要的那些xlog日志文件.初步研

《嵌入式 Linux C 语言应用程序设计(修订版)》一第2章 嵌入式Linux C语言开发工具2.1 嵌入式Linux下C语言概述

第 2 章 嵌入式Linux C语言开发工具 嵌入式 Linux C 语言应用程序设计(修订版)本章目标 任何应用程序的开发都离不开编辑器.编译器及调试器,嵌入式Linux的C语言开发也一样,它也有一套优秀的编辑.编译及调试工具. 掌握这些工具的使用是至关重要的,它直接影响到程序开发的效率.因此,希望读者能自己动手操作,切实熟练掌握这些工具的使用.通过本章的学习,读者将会掌握如下内容: anniuC语言的产生历史背景 anniu嵌入式Linux下C语言的开发环境 anniu嵌入式Linux下的编