检查div ID是否存在(PHP)

3

是否可以使用PHP检查元素是否存在?

我已经知道了javascript的方法,但如果可能的话,我想避免使用它。


1
你为什么要在服务器端执行它? - Ash Burlaczenko
1
什么元素?HTML文档中的HTML元素? - Gumbo
@Daryl,HTML文档在哪里?你是将它加载到PHP中吗? - Pekka
2
你可以查看像这里讨论的HTML解析器:http://stackoverflow.com/questions/3650125/how-to-parse-html-with-php。无论如何,通常最好避免使用正则表达式来处理HTML。 - dnagirl
可能是解析HTML的最佳方法的重复问题。 - Gordon
显示剩余2条评论
3个回答

8

如果您拥有HTML字符串的服务器端,您可以使用DOMDocument

<?php
$html = '<html><body><div id="first"></div><div id="second"></div></body></html>';
$dom = new DOMDocument;
$dom->loadHTML($html);

$element = $dom->getElementById('second');
// this will be null if it isn't found
var_dump($element);

3
DOMDocument对象有一个getElementById方法 - Gumbo
他在客户端如何使用这个?-> 他将不得不使用ajax! - Thariama
哈哈,谢谢Gumbo,我完全忘记了。最近一直在做屏幕抓取,需要更新一下。 - Shabbyrobe

0

不直接可以,因为PHP只能在服务器端运行。

但是如果你真的想这么做,你可以通过ajax请求将整个页面代码发送到你的服务器上的一个php脚本中,在那里解析它以查找是否存在具有指定ID的div(参见Shabbyrobes的帖子;当你可以轻松使用javascript检查时,这肯定是非常低效的且不推荐的...),然后在你的ajax响应中返回结果。


-1

不可以。PHP只能提供内容,除了你要求创建的内容外,它无法控制或查看DOM。


是的,PHP提供了多个控制DOM的类。例如,我们可以使用DomDocument类。如果涉及到格式不良好的HTML,它并不完美,但是确实存在。 - botenvouwer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接