10

PHP Simple HTML DOMパーサーを使用してページtitleとメタを抽出するにはどうすればよいですか?description

ページのタイトルとプレーンテキストのキーワードが必要です。

4

9 に答える 9

22
$html = new simple_html_dom();
$html->load_file('some_url'); 

//To get Meta Title
$meta_title = $html->find("meta[name='title']", 0)->content;

//To get Meta Description
$meta_description = $html->find("meta[name='description']", 0)->content;

//To get Meta Keywords
$meta_keywords = $html->find("meta[name='keywords']", 0)->content;

注:メタタグの名前では大文字と小文字が区別されます。

于 2013-03-18T17:32:43.200 に答える
9

HTML DOMパーサーを見てみました。試してみてください:

$html = new simple_html_dom();
$html->load_file('xxx'); //put url or filename in place of xxx
$title = $html->find('title');
echo $title->plaintext;

$descr = $html->find('meta[description]');
echo $descr->plaintext;
于 2012-07-08T20:47:49.263 に答える
6
$html = new simple_html_dom();
$html->load_file('http://www.google.com'); 
$title = $html->find('title',0)->innertext;

$html->find('title')配列を返します

したがって、を使用する必要があります$html->find('title',0)。meta[description]も使用します。

于 2013-02-05T02:59:50.350 に答える
4

上記のLeiXCのソリューションから取得すると、単純なhtmldomクラスを使用する必要があります。

$dom = new simple_html_dom();
$dom->load_file( 'websiteurl.com' );// put your own url in here for testing
$html = str_get_html($dom);
$descr = $html->find("meta[name=description]", 0);
$description = $descr->content;
echo $description;

私はこのコードをテストしましたが、大文字と小文字が区別されます(一部のメタタグは説明に大文字のDを使用します)

スペルミスのチェックエラーは次のとおりです。

if( is_object( $html->find("meta[name=description]", 0)) ){
    echo $html->find("meta[name=description]", 0)->content;
} elseif( is_object( $html->find("meta[name=Description]", 0)) ){
    echo $html->find("meta[name=Description]", 0)->content;
}
于 2016-03-29T08:10:47.117 に答える
3
$html->find('meta[name=keywords]',0)->attr['content'];
$html->find('meta[name=description]',0)->attr['content'];
于 2016-09-22T22:45:54.633 に答える
2
$html = new simple_html_dom();
$html->load_file('xxx'); 
//put url or filename in place of xxx
$title = array_shift($html->find('title'))->innertext;
echo $title;
$descr = array_shift($html->find("meta[name='description']"))->content;
echo $descr;
于 2012-09-24T15:13:30.603 に答える
1

あなたはphpコードを使うことができて、とても簡単に知ることができます。ここみたいに

$ result ='site.com'; $ tags = get_meta_tags( "html/"。$result);

于 2013-11-12T02:27:19.730 に答える
1

正解は次のとおりです。

$html = str_get_html($html);
$descr = $html->find("meta[name=description]", 0);
$description = $descr->content;

上記のコードはhtmlをオブジェクト形式に変換し、findメソッドは名前の説明を含むメタタグを探します。最後に、他の人が概説したインナーテキストやプレーンテキストではなく、メタタグのコンテンツの値を返す必要があります。

これはテストされ、ライブコードで使用されています。一番

于 2015-11-01T16:12:22.803 に答える
0

説明をする簡単な方法を見つけました

$html = new simple_html_dom(); 
$html->load_file('your_url');
$title = $html->load('title')->simpletext; //<title>**Text from here**</title>
$description = $html->load("meta[name='description']", 0)->simpletext; //<meta name="description" content="**Text from here**">

行に余分なスペースが含まれている場合は、これを試してください

$title = trim($title);
$description = trim($description);
于 2018-01-28T16:32:24.633 に答える