1. ホーム
  2. php

[解決済み] 与えられた文字列からdata-urlを抽出する方法は?

2022-02-17 13:54:22

質問

  $string = '<img alt="Peachtree St Apartment 2" data-url="http://i.oodleimg.com/item/3472578127t_1m_condos,_townhouses_&amp;_apts_for_sale_in_johnson_city_tn/?1377909664" src="http://i.oodleimg.com/a/animate/spinner-small.gif" class="lazyload-image">';

PHPでdata-urlのパラメータを抽出したいのですが。

どのように解決するのですか?

には最適な仕事です。 エクスパット ! XPathがわからない?ウィキペディアに掲載 と答える :

XPath(XML Path Language)は、ノードを選択するための問い合わせ言語です をXML文書から読み取る。さらに、XPath を使って値を計算することもできます。 (文字列、数値、ブール値など) を XML の内容から抽出する。 のドキュメントをご覧ください。XPathはWorld Wide Web Consortium(W3C)によって定義されました。

つまり、あなたの特定のユーザーケースの場合、クエリーは次のようになります。

//img[@class='lazyload-image']/@data-url

というような使い方ができるんですね。

$query("//img[@class='lazyload-image']/@data-url");
$xpath->query($query);

そうすれば、自由に反復することができます。この件に関しては、img-tagに付加されたclassを考慮していますが、これは自由に削除してください。

//img/@data-url

XPath を PHP で使用する方法 (DOMXPath) の詳細については、マニュアルを参照してください。