草庐IT

DOMdocument

全部标签

php - 防止 DOMDocument 去除空标签后的空格

我有一个通过DOMDocument加载的html文件我在其中进行了一些DOM操作,输出带有saveHTML的html.问题是input标签后的空格被去掉了,这里是HTMLwindow.jQuery||document.write(unescape('%3cscriptsrc="/script/jquery.min.js"%3e%3c/script%3e'));Firstname:Lastname:Dateofbirth:Address:Phonenumber:Sex:Emailaddress:Accountpassword:PHP$template_file=$_SERVER['DOC

php - DOMDocument::loadXML 与 HTML 实体

我目前在阅读XHTML时遇到问题,因为XML解析器无法识别HTML字符实体,所以:EntitiesareCausingMeProblemsCopyright©2010SomeBlokeEOF;$imp=newDOMImplementation();$html5=$imp->createDocumentType('html','','');$doc=$imp->createDocument('http://www.w3.org/1999/xhtml','html',$html5);$doc->loadXML($text);header('Content-Type:applica

php - 使用 PHP 的 DOMDocument 时避免百分比编码 href 属性

对于这个问题,我能找到的最佳答案是使用XSLT,但我只是不确定如何将这些答案应用到我的问题中。基本上,DOMDocument在转义传入的URL(在href属性中)方面做得很好,但我实际上是用它来构建Twig/Django样式模板,而且我'我宁愿让他们一个人呆着。这是一个具体的例子,说明了“问题”:loadHTML('Test');echo$doc->saveHTML();输出如下:Test是否可以不对href属性进行百分号编码?如果不可能直接,您能否建议一个简洁可靠的解决方法?我正在做其他处理,DOMDocument用法必须保留。那么也许是前/后处理技巧?

php - 将 DOMDocument 中的特定元素导出到字符串

我正在使用DOMDocument函数将一些任意HTML导入o​​jit_code,例如:$html='Test';$doc=newDOMDocument;$doc->loadHTML($html);然后我想使用loadHTML()方法更改一些属性/节点值,我可以做到这一点。完成这些更改后,我想导出HTML字符串(使用DOMDocument),没有->saveHTML()自动添加到HTML的...标签。我明白为什么要添加这些(以确保文档有效),但我如何才能恢复我编辑过的HTML(基本上是DOMDocument标签之间的所有内容)?我已阅读thispost,虽然它提供了一些解决方案,但我宁

php - 如何防止 PHP DOMDocument 来自 "fixing"您的 HTML 字符串

我一直在尝试使用HTMLDOMObject解析网页,以便将它们用于应用程序以扫描它们的SEO质量。但是我遇到了一些问题。出于测试目的,我编写了一个包含以下不正确HTML的小型HTML页面:sometitle如您所见,标题在head标签之外,这是我要检测的错误。现在问题来了,当我使用cURL从该页面捕获响应字符串然后将其发送到DOM文档以将其作为HTML加载时,它实际上通过添加另一个解决了这个问题和标题周围的标签。sometitle我检查了cURL响应数据,实际上这不是问题所在,在执行loadHTML()方法期间,PHPDOMDocument以某种方式修复了html语法。我还尝试通过将D

PHP HTML DOMDocument getElementById 问题

这里对PHP解析有点陌生,但我似乎无法让PHP的DOMDocument返回明显可识别的节点。加载的HTML将来自网络,因此不一定能保证符合XML,但我尝试了以下操作:HelloWorld.';$dom=newDOMDocument;$dom->preserveWhiteSpace=false;$dom->validateOnParse=true;/***loadthehtmlintotheobject***/$dom->loadHTML($html);var_dump($dom);$belement=$dom->getElementById("bid");var_dump($belem

php - 如何通过 Domdocument 获取第一级 dom 元素?

DomdocumentPHP如何获取第一层dom元素?代码无效的示例-摘自问答:HowtogetnodesinfirstlevelusingPHPDOMDocument?EOD;$doc=newDOMDocument();$doc->loadHTML($str);$xpath=newDOMXpath($doc);$entries=$xpath->query("/");foreach($entriesas$entry){var_dump($entry->firstChild->nodeValue);}?> 最佳答案 根节点下的第一级元

php - 如何返回 DOMDocument 的外部 html?

我正在尝试替换字符串中的视频链接-这是我的代码:$doc=newDOMDocument();$doc->loadHTML($content);foreach($doc->getElementsByTagName("a")as$link){$url=$link->getAttribute("href");if(strpos($url,".flv")){echo$link->outerHTML();}}不幸的是,outerHTML当我试图获取像这样的完整超链接的html代码时不起作用有什么想法可以实现吗? 最佳答案 从PHP5.3.6开

php - 保存 domdocument 时删除 doctype

我正在解析html文档并将其提取到DOMDocument。这些文档是将显示在另一页内的子表单。在保存已解析的DOMDocuments时,它会自动添加doctype、html、head和body标签。因为我正在处理子表单,所以我想删除所有这些并只保存表单的子标签。如何在保存domdocument时跳过自动生成html、head、body等标签? 最佳答案 与@KoolKabin的回答相同,但更短一些:returnpreg_replace('~]*>\s*~i','',$dom->saveHTML());

php - 使用 DOMDocument,是否可以获取某个 DOM 中存在的所有元素?

假设我有一个包含许多不同元素的HTML文件,每个元素都有不同的属性。假设我事先不知道这个HTML会是什么样子。使用PHP的DOMDocument,我如何遍历ALL元素并修改它们?我只看到getElementByTagName和getElementById等。我想遍历所有元素。例如。假设HTML看起来像这样(只是一个例子,实际上我不知道结构):$html='';我希望能够进行一些简单的DOM修改(比如在Javascript中):$dom=newDOMDocument();$dom->loadHTML($html);//Obviouslythecodebelowdoesn'tworkbut