我有一个非常奇怪的问题,我有一个名为getResources的类,我想在$ url上抓取并提取每个CSS位置。这是:
class getResources {
public function getCSSCount($sitename) {
$count = '0';
$file = file_get_contents($sitename);
$doc = new DOMDocument();
$doc->loadHTML($file);
$domcss = $doc->getElementsByTagName('link');
foreach($domcss as $links) {
if( strtolower($links->getAttribute('rel')) == "stylesheet" ) {
$count++;
}
}
return $count;
}
}
问题是即使安装了php-xml并且工作如下所示,也找不到DOMDocument:
root@robin [~]# php -i|grep DOM
DOM/XML => enabled
DOM/XML API Version => 20031129
我已经通过将它从它的类中删除并直接通过index.php文件解析来测试该函数,并且它工作正常。问题是,如果DOMDocument在一个类中,则无法找到它。有谁知道怎么修这样的东西?
提前致谢, 亚历
答案 0 :(得分:0)
如果你的机器上安装了php7和php5.6,那么简单地安装php-xml将无法正常工作。问题是php-xml为php7安装了xml库,并没有关注php5版本。
要使用它,您需要在Ubuntu上运行以下命令: 1.如果你安装了php7和php5.6 :(即新的ppa => ppa:ondrej / php),那么使用以下命令,
sudo apt-get install php5.6-xml php5.6-xmlrpc
sudo apt-get install php5-xml php5-xmlrpc
答案 1 :(得分:0)
也许我们有similar problem。这可能是名称空间问题。您可以尝试以下方法:
$doc = new \DOMDocument();