ホームページ > バックエンド開発 > PHPチュートリアル > Web ページのソース コードのキーワードと説明を定期的に取得するのは少し面倒です。

Web ページのソース コードのキーワードと説明を定期的に取得するのは少し面倒です。

PHP中文网
リリース: 2016-06-23 14:00:45
オリジナル
1512 人が閲覧しました

ケース 1:

<META NAME="description" CONTENT="华尔街债券(bond.wswire.com)
是全球第一债券网站,为您提供全球债券市场最迅速最专业的债券资讯和全天候的债券理财、债券评级及报价服务,
华尔街债券覆盖交易所债券市场、银行间债券市场、银行同业拆借及公开市场等各方面的债券信息服务。华尔街债券汇聚多家顶级专业机构分析研究报告、每日两次的精确数据分析以及图文并茂的市况报道。"><META NAME="keywords" CONTENT="华尔街,电讯,华尔街电讯,全球债券,国债,债券,债市,企业债,企债,可转债,回购,正回购,赎回,债券公告,利率,金融债,央行,短期融资券,记账式国债,货币政策,财经,汇率,票据,公开市场,稳定收益,公债,柜台交易,银行间债市,同业拆借,债券资讯,融资债,债券理财,债券评级,银行间市场,交易所市场,海外市场,央行票据">
ログイン後にコピー


ケース 2:

<meta name=keywords content="微波炉使用高火档能耗低更节能(图),环保新知,,,微波炉,,,高火,,,节能,,,省电,,"><meta name=description content="微波炉使用高火档能耗低更节能(图)">
ログイン後にコピー



注: 名前だけでなく、ケースも異なる場合があり、コンテンツ属性 [color=#FF6600] の位置も異なります[/color ]

試してみましょう 書いてみると、1 つの Web ページしか一致しません。何が問題なのかわかりません。ダニエル、答えてください、ありがとう!
キーワード:

 1.preg_match("/<meta[\s]+name=[&#39;\"]keywords[&#39;\"] content=[&#39;\"](.*)[&#39;\"]/isU",$this->tmpHtml,$inarr);
 2.preg_match("/<meta[\s] content=[&#39;\"](.*)[&#39;\"] name=[&#39;\"]keywords[&#39;\"]/isU",$this->tmpHtml,$inarr2);
ログイン後にコピー
1.preg_match("/<meta[\s]+name=[&#39;\"]description[&#39;\"] content=[&#39;\"](.*)[&#39;\"]/isU",$this->tmpHtml,$inarr);
2.preg_match("/<meta[\s]+content=[&#39;\"](.*)[&#39;\"] name=[&#39;\"]description[&#39;\"]/isU",$this->tmpHtml,$inarr2);
ログイン後にコピー

説明: 一部の Web ページは一致できますが、一部の Web ページは一致できません


ディスカッションへの返信 (解決策)

ところで、説明するのを忘れていましたが、一部の Web ページは次のようになります。




キーワードと説明には二重引用符が含まれません。一致しません。改善していただけると幸いです。

get_meta_tags 関数はありませんか?メタの配列を返し、必要なものを抽出します

はは、面白いですね、ありがとう、foolbirdflyfirst yangball

前の名前:

<meta(\s)name=(\&#39;|\"|)keywords(\&#39;|\"|)(\s*)content=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)><meta(\s)name=(\&#39;|\"|)
keywords(\&#39;|\"|)(\s*)content=(\&#39;|\"|)|(\&#39;|\"|)(\s*)><meta(\s)name=(\&#39;|\"|)description(\&#39;|\"|)(\s*)
content=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)><meta(\s)name=(\&#39;|\"|)description(\&#39;|\"|)(\s*)content=(\&#39;|\"|)|(\&#39;|\"|)(\s*)>
ログイン後にコピー


後ろの名前:

<meta(\s)content=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)name=(\&#39;|\"|)keywords(\&#39;|\"|)(\s*)> 
<meta(\s)content=(\&#39;|\"|)|(\&#39;|\"|)(\s*)name=(\&#39;|\"|)keywords(\&#39;|\"|)(\s*)> 
<meta(\s)content=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)name=(\&#39;|\"|)description(\&#39;|\"|)(\s*)> 
<meta(\s)content=(\&#39;|\"|)|(\&#39;|\"|)(\s*)name=(\&#39;|\"|)description(\&#39;|\"|)(\s*)>
ログイン後にコピー

前の名前。 :

<meta(\s)name=(\&#39;|\"|)keywords(\&#39;|\"|)(\s*)content=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)><meta(\s)name=(\&#39;|\"|)
keywords(\&#39;|\"|)(\s*)content=(\&#39;|\"|)|(\&#39;|\"|)(\s*)><meta(\s)name=(\&#39;|\"|)description(\&#39;|\"|)(\s*)
content=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)><meta(\s)name=(\&#39;|\"|)description(\&#39;|\"|)(\s*)content=(\&#39;|\"|)|(\&#39;|\"|)(\s*)>
ログイン後にコピー


後ろの名前:

<meta(\s)content=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)name=(\&#39;|\"|)keywords(\&#39;|\"|)(\s*)><meta(\s)
content=(\&#39;|\"|)|(\&#39;|\"|)(\s*)name=(\&#39;|\"|)keywords(\&#39;|\"|)(\s*)><meta(\s)content=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)
name=(\&#39;|\"|)description(\&#39;|\"|)(\s*)><meta(\s)content=(\&#39;|\"|)|(\&#39;|\"|)(\s*)name=(\&#39;|\"|)
description(\&#39;|\"|)(\s*)>
ログイン後にコピー

上記に従って、さらに次のように結論付けました:

名前が最初:

<(\s*)(meta|META|Meta)(\s*)(name|NAME|Name)=(\&#39;|\"|)(keywords|KEYWORDS|Keywords)(\&#39;|\"|)(\s*)
(content|CONTENT|Content)=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)><(\s*)(meta|META|Meta)(\s*)(name|NAME|Name)=(\&#39;|\"|)(
keywords|KEYWORDS|Keywords)(\&#39;|\"|)(\s*)(content|CONTENT|Content)=(\&#39;|\"|)|(\&#39;|\"|)(\s*)><(\s*)(meta|META|Meta)
(\s*)(name|NAME|Name)=(\&#39;|\"|)(description|DESCRIPTION|Description)(\&#39;|\"|)(\s*)
(content|CONTENT|Content)=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)><(\s*)(meta|META|Meta)(\s*)(name|NAME|Name)=(\&#39;|\"|)
(description|DESCRIPTION|Description)(\&#39;|\"|)(\s*)(content|CONTENT|Content)=(\&#39;|\"|)|(\&#39;|\"|)(\s*)>
ログイン後にコピー

名前が最後:

<(\s*)(meta|META|Meta)(\s*)(content|CONTENT|Content)=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)(name|NAME|Name)=(\&#39;|\"|)(keywords|KEYWORDS|Keywords)(\&#39;|\"|)(\s*)><(\s*)(meta|META|Meta)(\s*)(content|CONTENT|Content)=(\&#39;|\"|)|(\&#39;|\"|)(\s*)(name|NAME|Name)=(\&#39;|\"|)(keywords|KEYWORDS|Keywords)(\&#39;|\"|)(\s*)><(\s*)(meta|META|Meta)(\s*)(content|CONTENT|Content)=(\&#39;|\"|)(.*)(\&#39;|\"|)(\s*)(name|NAME|Name)=(\&#39;|\"|)(description|DESCRIPTION|Description)(\&#39;|\"|)(\s*)><(\s*)(meta|META|Meta)(\s*)(content|CONTENT|Content)=(\&#39;|\"|)|(\&#39;|\"|)(\s*)(name|NAME|Name)=(\&#39;|\"|)(description|DESCRIPTION|Description)(\&#39;|\"|)(\s*)>
ログイン後にコピー

上記は、キーワードと説明を取得する通常の方法です。 Web ページのソース コードは少し面倒ですが、その他の関連コンテンツについては、PHP Chinese Net (www.php.cn) に注目してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート