草庐IT

dom-repeat

全部标签

php - 从样式 css 获取背景图像 URL 的简单 html dom

我正在尝试从获取图像url使用简单的htmldom的css代码。但我没有得到图片网址。我想得到hd-banner-image此处的图片网址:#c4-header-bg-container{background-image:url(//yt3.ggpht.com/5oabquJr1cMEhL0GSyaeim5K78FLxILh4hXJBxIU3NnbpoVLMvquA6l2cbn7cTaFiRNRM2Vy-A=w1060-fcrop64=1,00005a57ffffa5a8-nd-c0xffffffff-rj-k-no);}@mediascreenand(-webkit-min-devi

php - 如何使用 PHP Simple HTML DOM Parser 启用 gzip 压缩

我已经尝试了一些方法来使用PHPSimpleHTMLDOMParser启用gzip压缩,但到目前为止似乎没有任何效果。我已经使用ini_set更改了用户代理,所以我认为也可以启用gzip压缩?include("simpdom/simple_html_dom.php");ini_set('zlib.output_compression','On');$url='http://www.whatsmyip.org/http_compression/';$html=file_get_html($url);print$html;上面的网站对其进行了测试。如果我完全以错误的方式进行此操作,请告诉我

php - 使用 PHP DOM 访问样式属性

经过一番搜索后,我得出结论,使用PHPDOM解析器无法检索CSS样式。谁能证实这一点?一个元素可以例如由其ID标识。如果该元素随后具有样式属性(元素样式style="abc"),则也可以检索该属性的值。但是如果元素的样式是由来自CSSselector的id定义的,PHP似乎没有任何直接的访问样式。我看到的唯一解决方法是解析所有链接的CSS文件并检查是否有任何样式分配给该ID。是吗? 最佳答案 非常正确。DOM解析器不加载外部依赖项,尤其不关心CSS。您必须单独加载它们并与DOM分开处理。看来您可以为此使用CSS解析器。参见Parsi

PHP: simple_html_dom - 如何查找不在某个类中的元素?

我在PHP中使用simple_html_dom来获取html页面中的所有A标签。但是一些标签在div中,应该被忽略。我想我需要这样的东西:$htmldom->find("!div[class=blabla]a");我发现我可以使用[attribute!=value]来指定不具有特定属性值的元素,但这对元素有何作用? 最佳答案 你基本上已经做到了:$htmldom->find("[class!=blabla]a"); 关于PHP:simple_html_dom-如何查找不在某个类中的元素?

php - DOM结构,通过属性名/值获取元素

我在SO上看到很多与问题相关的答案,但要么存在我无法克服的细微差异,要么我只是无法重复显示的过程。我想要完成的是使用CURL从Google+业务页面获取HTML,迭代HTML并针对业务的每次评论抓取评论HTML以显示在该业务非google+网页上。每条评论都共享这个父div结构:.....因此,我正在尝试基于为每个具有属性的div查找和抓取div和innerhtml来执行foreach循环:guidehelpid="userreviews"我通过CURL成功获取了HTML,并且可以在定位标准标签名称(如“a”)时解析它,或者如果它有ID,但在查找属性名称时使用PHP默认解析器迭代HTM

php - 如何在 PHP 中使用 DOM 解析器附加文本(递增顺序)?

$html='Exponents[label*exponents]Exponents[label*exponents]Exponents[label*exponents]Exponents[label*exponents]Exponents[label*exponents]Exponents[label*exponents]Exponents[label*exponents]Exponents[label*exponents]Exponents[label*exponents]Exponents[label*exponents]Exponents[label*exponents]';预

php - 使用 Simple HTML DOM Parser 按 ID 查找表

我去年写了一个数据库播种器,用于抓取统计网站。重新访问我的代码后,它似乎不再有效,我对原因有点困惑。$html->find()应该返回找到的元素数组,但它似乎只在使用时找到第一个表。根据文档,我改为尝试使用find()并指定每个表的ID,但这似乎也失败了。$table_passing=$html->find('table[id=passing]');谁能帮我弄清楚这里出了什么问题?我不知道为什么这两种方法都不起作用,页面源清楚地显示了多个表和ID,这两种方法都应该起作用。privatefunctiongetTeamStats(){$url='http://www.pro-footbal

php - 如何使用 PHP/XPath/DOM 查询 namespace

我正在尝试查询使用命名空间的XML文档。我在没有命名空间的情况下使用xpath取得了成功,但没有命名空间的结果。这是我正在尝试的一个基本示例。我稍微压缩了一下,所以我的示例中可能存在一些小问题,可能会影响我的实际问题。示例XML:MyContent示例PHP代码:registerNamespace('sf',"http://developer.apple.com/namespaces/sf");$p=$xpath->query("//sf:p",$dom);我的结果是“p”是一个“DOMNodeListObject()”,它的长度是0。任何帮助将不胜感激。

php - 使用 XML、模式、DOM、PHP 等

我似乎在兜圈子,或者可能根本没有掌握这里的一些概念。我正在重新设计一组PHP模板类,这些模板类以前使用一些奇特的正则表达式来组合和复制文档和文档区域,从而生成输出页面。我以前的方法的一个例子(为了完整起见):{{var:myHeading}}{{var:myDatetimeformat:datetime(Y-m-dH:i:s)}}{{var:myTextformat:maxLength(300)}}无论如何,它工作得很好,但我真的想将它提升到一个新的水平,并认为这在逻辑上会扩展标记本身,变成类似这样的东西:我一直在阅读W3规范,甚至是W3Schools各种相关技术的教程,例如用于编写模

php - 如何在不使用迭代的情况下提取 DOM 子节点或重命名元素?

$xml='11';$dom=newDomDocument;$dom->loadXML($xml);$p=$dom->childNodes->item(0);echo$dom->saveXML($p);上面会打印回来11假设需要将p节点/元素替换为new_p除了像下面这样循环之外,理想的方法是什么?(下面是可行的)$fragment='';foreach($p->childNodesas$a){$fragment.=$dom->saveXML($a);}$new_doc=newDomDocument;$new_doc->loadXML('');$f=$new_doc->createDo