【php-使用DOMDocument的Web刮板】教程文章相关的互联网学习教程文章

在PHP中,如何使用DOMDocument类替换IMG标记的src =属性?【代码】

能够在不丢失任何其他属性的情况下替换HTML IMG标记的src =属性通常很有用.这样做的快速,非正则表达方式是什么? 我不想使用RegEx的原因是: >它不是很可读.每次我需要考虑一个新案例时,我不想花费20分钟来破译模式.>我打算修改此功能,以便在缺少宽度和高度属性时添加它们.为此目的,简单的RegEx字符串替换将不容易修改. 上下文是:我有一堆RSS feed帖子,每个帖子都包含一个图片.我想用空白图像替换这些图像,但保持HTML不受影响:$r...

PHP Native DOMDocument和Simple DOM Parser – 是否有大小限制?

我需要解析HTML文档的内容(由Microsoft Word生成).遍历DOM以获取我需要的信息/内容,然后输出所需的CSV.我知道,几乎没有脑部手术. 现在因为PHP不是我的事情而且我有一个紧张的时间表我将使用http://simplehtmldom.sourceforge.net/的PHP Simple HTML DOM Parser 我注意到我的脚本无效.经过反复试验,我意识到这是由于Word生成的HTML文件的文件大小(它们是3MB,并且有多达30,000行HTML!).我假设有一个文件大小限制,可以使用PHP Simple...

使用PHP DOMDocument()类时保留换行符[复制]【代码】

参见英文答案 > PHP XML how to output nice format 7个当您查看源代码时,我的HTML看起来像这样: 原始HTML<!DOCTYPE html> <html><head></head><body></body> </html>但在我这样做之后:$dom = new DOMDocument(); $dom->loadHTML($html); $dom->saveHTML();我的源代码转向: 新的HTML<!DOCTYPE html><html><head></head><body></body></html>使用PHP DOMDocument()类及其方法时,如何保留新行...

php – 转储非ASCII字符时DOMDocument的不一致行为的解释是什么?

当使用PHP的DOMDocument的saveXML()和saveHTML()方法时,我注意到了不同的“转储”行为.以下是转储版权符号的简单示例(©). <?$domDoc = new DOMDocument(); $domDoc-&GT loadHTML( “&安培;复印;”); echo $domDoc-> saveHTML(); echo $domDoc-> saveXML(); echo $domDoc-> saveXML($domDoc);?&GT 这三个转储产生三种不同的输出: 第一个输出字符串& copy;第二个输出字符实体&#xA9;第三个输出版权符号的UTF8 2字节代码(U 00A9...

PHP DomDocument XML加载XML数据损坏【代码】

你如何处理XML文件中的数据损坏?例如,如果我有<text>Some &improper; text here.</text>我正在尝试:$doc = new DOMDocument();$doc->validateOnParse = false;$doc->formatOutput = false;$doc->load(...xml');它失败了,因为有一个未知的实体.注意,由于软件的编写方式,我无法使用CDATA.我正在编写一个读取和写入XML的模块,有时用户会插入不正确的文本. 我注意到DOMDocument-> loadHTML()很好地编码了所有内容,但我怎么能从那里继...

PHP 5.4.16 DOMDocument删除部分Javascript【代码】

我尝试将HTML页面从远程服务器加载到PHP脚本中,该脚本应该使用DOMDocument类操作HTML.但我已经看到,DOMDocument类删除了HTML页面附带的Javascript的一些部分.有一些事情,如:<script type="text/javascript"> //... function printJSPage() {var printwin=window.open('','haha','top=100,left=100,width=800,height=600');printwin.document.writeln(' <table border="0" cellspacing="5" cellpadding="0" width="100%">');printw...

PHP DOMDocument nodeValue转储文字UTF-8字符而不是编码【代码】

我遇到类似于this question的问题: nodeValue from DomDocument returning weird characters in PHP 我找到的根本原因可以用mb_convert_encoding()来模仿 在我的单元测试中,这终于解决了这个问题:$test = mb_convert_encoding('é', "UTF-8"); $this->assertTrue(mb_check_encoding($test,'UTF-8'),'data is UTF-8'); $this->assertTrue($this->rw->checkEncoding($test,'UTF-8'),'data is UTF-8'); $this->assertIdentical($test...

试图使用php domdocument获取明文【代码】

我试图从给定的HTML获取明文.但是,我不可能.为此,我所做的是 我的html是$content变量 现在,我将$content变量传递给php DomDocuemnt$d = new DOMDocument(); @$d->loadHTML($content)我的下一步是从获得的HTML获取明文. 请帮帮我.提前致谢!解决方法:我无法理解你的问题,但如果你想将HTML代码作为字符串试试这个…$d = new DOMDocument(); $d->loadHTML($content); $plainText = $d->textContent; echo $plainText;

PHP – DOMDocument :: saveHTML创建奇怪的实体【代码】

所以我从API中提取xml,我的目标是将xhtml作为html保存在文件中供用户查看. 问题是,保存的html文件得到了一些它不应该有的新怪异实体.这是一个例子. 这就是拉动的xhtml片段的样子:<p> "At that point这是保存的文件的样子:<p>&Acirc; &Acirc; &Acirc; "At that point这就是Chromium看到的:<p>? ? ? "At that point从被拉动的xhtml到被保存的它,它被几个不同的类处理,因此为了简单起见,我将简化数据传递的所有对象.//curl ca...

php – 带命名空间的DOMDocument【代码】

我已经工作了几个小时试图让输出XML与我给出的规范相匹配,而我却找不到合适的代码来完成它.我正在使用DOMDocument,因为我读到它比SimpleXML更灵活. 期望的最终结果:<?xml version="1.0" encoding="UTF-8"?> <retail xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><partnerid>XYZ</partnerid><customer xmlns:a="http://schemas.datacontract.org/2004/07/DealerTrack.DataContracts.CreditApp"><a:info><a:FirstName>Bob<...

使用DOMDocument和DOMXPath正确删除PHP中的子元素【代码】

这是前一个问题,但我们不会谈论这个问题.我正在隔离第三方HTML文档中的许多部分.匹配一些时,我需要从结果中删除某些标签.我在SO上找到的代码是:$name = $xpath->query("//div[@class='leftColBig']//h3")->item(0); // remove <span> foreach($xpath->query("//span", $name) as $node)$node->parentNode->removeChild($node);这有不幸的副作用,不仅从$name删除子,而是整个DOMDocument :(我怎样才能将removeChild与我使用查询找到...

php – 使用DOMDocument-> save(‘filename’)保存xml文件时出现问题【代码】

我有一个简短的PHP程序,它加载XML文件(test02.xml),然后尝试将其保存在另一个文件中. 该计划是:<?php //The next three lines are needed to open a file for writing on the server I use.$stream_options = array('ftp' => array('overwrite' => TRUE)); $stream_context = stream_context_create($stream_options); $fxml = fopen("ftp://userid:password@www.yurowdesigns.com/public_html/programs/test03.xml","w",0,$strea...

php – DOMDocument无法更改parentNode【代码】

我无法从null更改DOMDocument parentNode.我尝试过使用appendChild和replaceChild,但没有运气. 我在哪里错了? error_reporting(E_ALL);function xml_encode($mixed, $DOMDocument=null) {if (is_null($DOMDocument)) {$DOMDocument =new DOMDocument;$DOMDocument->formatOutput = true;xml_encode($mixed, $DOMDocument);echo $DOMDocument->saveXML();} else {if (is_array($mixed)) {$node = $DOMDocument->createElement('...

使用PhpWord隐藏HTML:错误 – DOMDocument :: loadXML():p上的命名空间前缀o未在实体中定义【代码】

我试图隐藏用Php单词格式化的HTML. 我用summernote创建了一个html表单. Summernote允许用户格式化文本.此文本使用html标记保存到数据库中. 接下来使用phpWord,我想将捕获的信息输出到word文档中.请参阅以下代码:$rational = DB::table('rationals')->where('qualificationheader_id',$qualId)->value('rational');$wordTest = new \PhpOffice\PhpWord\PhpWord();$newSection = $wordTest->addSection();$newSection->getStyle()->...

php – 防止DOMDocument :: loadHTML()转换实体【代码】

我有一个字符串值,我正在尝试提取列表项.我想提取文本和任何子节点,但是,DOMDocument正在将实体转换为角色,而不是保留原始状态. 我已经尝试将DOMDocument :: resolveExternals和DOMDocument :: substituteEntities设置为false,但这没有任何效果.应该注意我使用PHP 5.2.17在Win7上运行. 示例代码是:$example = '<ul><li>text</li>'.'<li>&frac12; of this is <strong>strong</strong></li></ul>';echo 'To be converted:'.PHP_EOL....

DOM - 相关标签