我正在使用PHP的DOMDocument来解析和规范化用户提交的HTML,使用loadHTML方法解析内容,然后通过saveHTML获得格式正确的结果:$dom=newDOMDocument();$dom->loadHTML('HelloWorld');$well_formed=$dom->saveHTML();echo($well_formed);这在解析片段和添加适当的结束标记方面做得很好。问题是我也得到了一堆我不想要的标签,比如,,和.我知道每个格式良好的HTML文档都需要这些标签,但我正在规范化的HTML片段将被插入到现有的有效文档中。 最佳答案
我正在尝试使用DOMDocument解析HTML代码,对其进行更改等操作,然后将其组装回我发送到输出的字符串。但是在解析方面存在一些问题,这意味着我发送到DOMDocument的内容并不总是以相同的形式返回:)这是一个列表:使用->loadHTML:无论preserveWhitespace如何格式化我的文档和formatOutput设置(丢失预格式化文本上的空格)当我有像这样的html5标签时给我错误,等等。但它们可以被抑制,所以我可以接受。产生不一致的标记——例如,如果我添加元素(带有自闭合标签),在解析/保存HTML后输出将为使用->loadXML:编码像>这样的实体来自或标签:b
这是我的代码:$oDom=newDOMDocument();$oDom->loadHTML("èàéìòù");echo$oDom->saveHTML();这是输出:èà éìòù我想要这个输出:èàéìòù我试过...$oDom=newDomDocument('4.0','UTF-8');或者使用1.0和其他东西但什么都没有。还有一点……有没有办法获得相同的未触及的HTML?例如,在输入中使用此htmlhello!获得相同的输出hell
在我的应用程序中,我从url加载xml以解析它。但有时这个网址可能无效。在这种情况下,我需要处理错误。我有以下代码:$xdoc=newDOMDocument();try{$xdoc->load($url);//ThislinecausesWarning:DOMDocument::load(...)//[domdocument.load]:failedtoopenstream://HTTPrequestfailed!HTTP/1.1404NotFoundin...}catch(Exception$e){$xdoc=null;}if($xdoc==null){//Handle}else{/
我正在使用DOMDocument生成一个新的XML文件,我希望文件的输出能够很好地缩进,以便于人类读者理解。例如,当DOMDocument输出此数据时:lkjalksjdlakjdlkasdlkjlkasjlkajklajslk我希望XML文件是:lkjalksjdlakjdlkasdlkjlkasjlkajklajslk我一直在四处寻找答案,我发现的一切似乎都在试图以这种方式控制空白:$foo=newDOMDocument();$foo->preserveWhiteSpace=false;$foo->formatOutput=true;但这似乎并没有做任何事情。也许这只在读取XML时
我刚刚开始阅读有关DOM的文档和示例,以便抓取和解析文档。例如,我有部分文档如下所示:Crap titledescription.CrapCrap我正在尝试使用下面的代码来获取所有的tr标签,并分析其中是否有废话或信息:$dom=newDOMDocument();@$dom->loadHTML($html);$xpath=newDOMXPath($dom);$tags=$xpath->query('.//div[@id="showContent"]');foreach($tagsas$tag){$string="";$string=trim($tag->nodeValue);
我首先在MAMP上运行代码,它运行良好。但是当我尝试在另一台服务器上运行代码时,我收到了很多警告,例如:Warning:DOMDocument::loadHTML():Unexpectedendtag:headinEntity,line:3349in/cgihome/zhang1/html/cgi-bin/getPrice.phponline17Warning:DOMDocument::loadHTML():htmlParseStartTag:misplacedtaginEntity,line:3350in/cgihome/zhang1/html/cgi-bin/getPrice.ph
好的,我已经建立了一个新的symfony3项目,使用:Vagrant----Virtualbox----PHP56----MYSQL55----UBUNTUTRUSTY64。在我进行“Composer更新”之前,一切正常。我有这个错误信息,我现在什么都做不了Attemptedtoloadclass"DOMDocument"fromtheglobalnamespace所以我找到了一些建议的解决方案,例如“安装php-xml”,但它已经安装了最新版本。有没有人有解决方案或指导我找到正确的方向非常感谢尼哥 最佳答案 在PHP7.0.9上遇
这是我将现有XML文件或字符串加载到DOMDocument对象中的代码:$doc=newDOMDocument();$doc->formatOutput=true;//thecontentactuallycomesfromanexternalfile$doc->loadXML('');$doc->getElementsByTagName("title")->item(0)->appendChild($doc->createTextNode($titleText));$doc->getElementsByTagName("description")->item(0)->appendChi
我尝试运行命令:app/consolecache:clear这返回错误:Anerroroccurredwhenexecutingthe"'cache:clear--no-warmup'"command:PHPFatalerror:UncaughtSymfony\Component\Debug\Exception\FatalThrowableError:Fatalerror:Class'DOMDocument'notfoundin/var/www/html/vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.