簡體   English   中英

PHP:在類中找不到DOMDocument

[英]PHP: DOMDocument cannot be found within a class

我有一個很奇怪的問題,我有一個名為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位於類中,則找不到該文檔。 有誰知道如何解決這樣的問題?

預先感謝Alex

如果您在計算機上安裝了php7和php5.6,則僅安裝php-xml將不起作用。 問題是php-xml為php7安裝了xml庫,而對於php5版本卻不起作用。

要使用它,您需要在Ubuntu上運行以下命令:1.如果同時安裝了php7和php5.6 :(即新的ppa => ppa:ondrej / php),然后使用以下命令,

須藤apt-get install php5.6-xml php5.6-xmlrpc

  1. 如果您僅安裝了php5

須藤apt-get install php5-xml php5-xmlrpc

也許我們有類似的問題 這可能是名稱空間問題。 您可以嘗試以下方法:

$doc = new \DOMDocument();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM