2016-04-07 4 views
0

私は正規表現では良くありません。私は私がこの問題を解決することができますどのように私は無題の取得以下のコード、それらを読んしようとすると、<title itemprop="name">test - Google+</title> OR <title id="name">Safaricom - Google+</title>ウェブページのタイトルの正規表現を取得する

のような構造を持ついくつかのページに遭遇したtitles.I Webページを読み込むしようとしています

$header_data = Array(); 
if (preg_match("@<title *>(.*?)<\/title*>@si", $file, $header_data)) { 
     $title = trim($header_data[1]); 
} 

答えて

0

ここでの問題は、*

  • の使用は、先行する正規表現/文字はので、これは多くのスペースと一致するようにしようとしている0または多数回

存在することができることを示しています時間とタイトルのあとに空白を許す>

try

<title.*>(.*?)<\/title> 
+0

ありがとう...私はこれをテストしましたが、まだ動作していません –

+0

@philip Works for me ... http://www.phpliveregex.com/p/fgs – Andreas

+0

@Andreas申し訳ありません、私はこのpreg_matchを使用していましたpreg_match( "/ (。*)<\/title> /"、$ file、$ header_data)ではなく、 "@(。*?)<\/title*> @si"、$ file、$ header_data) –

関連する問題