0
  $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 パラメータを抽出したいと考えています。

4

2 に答える 2

5

これはXPathにとって素晴らしい仕事です。XPath が何かわかりませんか? ウィキペディアに答えてもらいましょう:

XPath (XML パス言語) は、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 に追加されたクラスを考慮しましたが、自由に削除してください。

//img/@data-url

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

于 2013-09-25T07:52:28.907 に答える
0

正規表現を使用すると、次のことができます。

$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">';
$matches = array();
$url = '';
if (preg_match('/data-url="([^"]+)"/', $string, $matches)) {
    $url = $matches[1];
}
于 2013-09-25T07:49:14.273 に答える