2017-05-09 10 views
0

以下のコードを使用してイメージパスを取得しようとしています。これはフレームワークなしでPHP上で動作します。しかし、yii2フレームワークで使用しようとすると、エラーメッセージ "Class 'app\models\DOMXPath' not found"が表示されます。yii2:文字列からイメージパスを取得する - "Class 'app models DOMXPath' not found"

$image_tag = "<img src='test.com/image.jpg' border='0' title='Click Here'>"; 
$xpath = new DOMXPath(@DOMDocument::loadHTML($image_tag)); 
$src = $xpath->evaluate("string(//img/@src)"); 

yii2を使用してイメージパスを取得する方法はありますか?

答えて

1

これは名前空間の問題のようです。私はあなたがapp\models名前空間にいると仮定していますが、ベース名前空間のクラスを使用しようとしています。

試してみてください。

$xpath = new \DOMXPath(\DOMDocument::loadHTML($image_tag)); 
// OR: 
use DOMXPath; 
use DOMDocument; 
$xpath = new DOMXPath(DOMDocument::loadHTML($image_tag)); 

あなたはまた、単に将来的にハードバグトラッキングを行うことができます@シンボルを、使用するのではなく、エラーをキャッチするためにtry {} catch {}ブロックを使用する必要があります。

+0

ありがとうございました!私はこれを使って自分の問題を解決します。 "$ xpath = new \ DOMXPath(@ \ DOMDocument :: loadHTML($ image_tag));" – nodeffect

関連する問題