0

ビューソースからの「コンテンツ」値を抽出するにはどうすればよいですか

ページのソースを取得するために CURL を使用しましたが、その後、次のものを特定できません。

<meta property="og:title" content="Zoe&#39;s big surprise">
<meta property="og:description" content=" ">
<meta property="og:type" content="video">
<meta property="og:image" content="http://i1.ytimg.com/vi/PNyMlswZb-I/hqdefault.jpg">

基本的に、上記のすべてのパラメーターを配列にキャプチャして使用する必要があります。カール後に次のことを試しました

    //parsing begins here:
    $doc = new DOMDocument();
    @$doc->loadHTML($data);
    $nodes = $doc->getElementsByTagName('title');

    //get and display what you need:
    $title = $nodes->item(0)->nodeValue;

    $metas = $doc->getElementsByTagName('meta'); --This line is not able to fetch any <meta> content>

ありがとう

4

1 に答える 1

3

これが私の解決策です:

$html = '<meta property="og:title" content="Zoe&#39;s big surprise">
<meta property="og:description" content=" ">
<meta property="og:type" content="video">
<meta property="og:image" content="http://i1.ytimg.com/vi/PNyMlswZb-I/hqdefault.jpg">';

$doc = new DOMDocument();
$doc->loadHTML($html);

foreach( $doc->getElementsByTagName('meta') as $meta ) { 
   $metaData[] = array(
        'property' => $meta->getAttribute('property'),
        'content' => $meta->getAttribute('content')
    );
}

print_r( $metaData );

出力:

Array
(
    [0] => Array
        (
            [property] => og:title
            [content] => Zoe's big surprise
        )

    [1] => Array
        (
            [property] => og:description
            [content] =>  
        )

    [2] => Array
        (
            [property] => og:type
            [content] => video
        )

    [3] => Array
        (
            [property] => og:image
            [content] => http://i1.ytimg.com/vi/PNyMlswZb-I/hqdefault.jpg
        )

)
于 2012-05-05T14:09:28.190 に答える