基本上我正在为我的CMS编写一个模板系统,我希望有一个模块化结构,其中涉及人们放入如下标签:或然后我想在我的php中找到它并替换为动态html。这里有人将我指向DOMDocument,但我已经遇到了一个问题。我试图找到所有我的模板中的标签,并用一些简单的html替换它们。这是我的模板代码:CMS这是我的PHP:$template=newDOMDocument();$template->load("template/template.tpl");foreach($template->getElementsByTagName("include")as$include){$element='
我有一些代码可以从外部源中提取HTML:$doc=newDOMDocument();@$doc->loadHTML($html);$xml=@simplexml_import_dom($doc);//justtomakexpathmoresimple$images=$xml->xpath('//img');$sources=array();然后,如果我使用此代码添加所有源:foreach($imagesas$i){array_push($sources,$i['src']);}echo"";print_r($sources);die();我得到这个结果:Array([0]=>Simpl
我正在尝试从以下URL解析以下HTML:http://md5.rednoize.com/?q=fbade9e36a3f36d3d676c1b808451dd7代码:$html=file_get_contents($url.$hash);$config=array('clean'=>'yes','output-html'=>'yes',);$tidy=tidy_parse_string($html,$config,'utf8');$tidy->cleanRepair();$dom=newDOMDocument;$dom->loadHTML($tidy);$result=$dom->get
我有一个DomDocument,这是不可能的var_dump(这真的让我很生气),我在上面做:var_dump($dom->getElementsByTagName('url'));像这样的回应:beaute-mode/cheveux/11460--choisir-un-headbandget_url_articlemyhost但是我得到了var_dump回显:object(DOMNodeList)[262]而不是我的原始数据(这是一个URL)。所以我的问题很简单,但是如何在不封装在DomNodeList中的情况下获取原始数据?谢谢。 最佳答案
我在Windows7(64位)系统上使用ZendServerCE。我正在使用ZendFramework2.0开发一个网站。在本网站中,我使用DOMDocument来分析外部网站(由URL给出)。我使用ZendFramework1.12和ZendServerCE4(PHP5.2)开始这个项目。现在我安装了ZendServerCE5.6.0(apache2.2、PHP5.3.14、ZF2-Support)。我用ZF2.0重建我的项目。一切正常...除了一个功能。当我尝试实例化DOMDocument时收到此错误消息(php-error.log):Fatalerror:Class'Applic
我想抓取页面的内容,实际上只是该页面的一个div,然后在网页上的一个小div中将其显示给用户。我只需要来自需要用户凭据的carfax页面的一条信息,因此我无法发布确切的代码,但我尝试使用google.com并遇到了同样的问题,因此解决方案应该交叉。现在我试过这个:$webPage=file_get_contents('http://www.google.com');$doc=newDOMDocument();$doc->loadHTML($webPage);$div=$doc->getElementById('lga');//thisistheidtothedivholdingthei
有没有一种方法可以获取所有具有部分匹配的id的元素。例如,如果我想抓取网页上所有id属性以msg_开头的HTML元素但在那之后可能是任何东西。这是我到目前为止所做的:$doc=newDomDocument;//Weneedtovalidateourdocumentbeforereferingtotheid$doc->validateOnParse=true;$doc->loadHtml(file_get_contents('{URLISHERE}'));foreach($doc->getElementById('msg_')as$element){foreach($element->g
如何在元素中创建新行?我愿意:$currentTrack->appendChild($domtree->createElement('code','test1;test2;test3;'));但是它会在每一行的末尾添加
。我怎样才能摆脱它? 最佳答案
是\r\n样式行结尾的回车部分。我认为DOMDocument对其进行编码以保存它。如果您检查XMLspecification它说如果不编码,它将被规范化为\n。所以你有不同的选择:忽略转义实体,它们在xml解析器中解码使用CDATA-Elements,此处未进行规范化,因此DOMDo
我只是想获取所有驻留在内部的元素数据元素。我的问题是因为我试图抓取表结构,我需要排除所有具有属性COLLSPAN的元素。即从下面的代码中可以看出,获取表数据非常简单,但由于表结构,我需要排除所有collspan属性。loadHTML($html);libxml_clear_errors();//removeerror$xpath=newDOMXPath($game_doc);//ModifytheXPathquerytomatchthecontentforeach($xpath->query('//table')->item(0)->getElementsByTagName('tr')
我从客户那里得到了一个示例XML字符串,我想将其转换为DOMDocument。我似乎无法正确获得第一个节点......字符串看起来像这样;value我如何通过PHP中的DOMDocument正确设置它? 最佳答案 好吧,将XML字符串加载到DOMDocument对象并没有那么难——您只需要使用DOMDocument::loadXML().例如,在您的情况下,您将使用:$string=valueXML;$dom=newDOMDocument();$dom->loadXML($string);然后,访问您的数据只是使用相关DOM方法的问