2016-04-07 43 views
0

Regex ile iyi değilim; Ben ben düzeltebilirim nasıl ben isimsiz olsun aşağıdaki kodu, onları okurken yapmaya çalışırken <title itemprop="name">test - Google+</title> VEYA <title id="name">Safaricom - Google+</title>Web sayfası başlığı alma regex

gibi yapılarla bazı sayfaları karşılaştı titles.I web sayfasını okumaya çalışıyorum

.

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

cevap

0

Buradaki sorun *

  • kullanılmasıdır önceki regex/karakter yani bu birçok boşluk maç için çalışıyor mevcut 0 veya birçok kez

olabileceğini gösterir kez ve boşluktan sonra boşluklara izin verilecek ve>

arası

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

Teşekkür ederim ... Bunu test ettim ama hala çalışmıyor –

+0

@philip Benim için çalışıyor ... http://www.phpliveregex.com/p/fgs – Andreas

+0

@Andreas Üzgünüz, bu preg_match kullanıyordum ("@ (. *?) <\/title*> @si", $ dosya, $ header_data) preg_match yerine ("/ (. *) <\/title> /", $ dosya, $ header_data); –