php
  • regex
  • preg-match
  • 2012-01-15 7 views 0 likes 
    0

    のはは、特定のクラスでIMGのSRCを取得するpreg_match

    <img src="image1.jpg"/> 
    <img src="image2.jpg"/> 
    <img src="image3.jpg" class="main"/> 
    

    私はSRCを取得したい私は、文字列で多くの画像を持っていると私は唯一の特定のクラスでの画像のSRCを取得したいとしましょう3番目はクラスmainです。それ、どうやったら出来るの?

    $pattern = '/< *img[^>]*src *= *["\']?([^"\']*)/i'; 
    preg_match($pattern,$response,$matches); 
    

    これはすべてのimgタグに一致します。

    答えて

    4

    HTMLを解析するために正規表現を使用しないでください。代わりにDOMDocumentを使用してください。

    ここにいくつかのコードです:

    $dom = new DOMDocument(); 
    @$dom->loadHTML($html); 
    $xp = new DOMXPath($dom); 
    $imgs = $xp->query("//img[@class='main']"); 
    

    $imgsは今mainクラスで画像のNodeListをしています。 (DOMXPathをあまり使わなかったと思います)

    +1

    私はDOMDocumentでどうしていますか? – Michelle

    +0

    いくつかのコードに追加されました。 –

    関連する問題