2011-10-18 62 views
0

我不知道你是否能夠做到這一點,但...從url中獲取內容的一部分

有沒有辦法從URL獲取部分內容?

一樣,如果我有這樣的:

<protected>false</protected> 
<followers_count>6</followers_count> 
<profile_background_color>00afe0</profile_background_color> 

(的全部內容爲Twitter

但只希望<followers_count>6</followers_count>一部分?

有人知道如何做到這一點?
(我希望你們知道我的意思)


PS。以上任何內容只是一個示例
PSS。不只是戈納時使用此XML等格式this太(我不知道名字)

是的,我知道我可以只使用file_get_contents偏移處和maxlen的事情,但問題是,我並不總是知道,我正在尋找的部分在哪裏。

+0

Sooo,沒人知道嗎? D: – Mobilpadde

回答

4

您可以使用本機XML解析器(如SimpleXML)查找特定內容的值。

+0

他不知道XML是什麼... –

+1

@webarto我不知道? – Mobilpadde

+0

而thx @Justin,我會試試這個:D – Mobilpadde

0
$data = file_get_contents('http://twitter.com/users/show.xml?screen_name=SlogaNator'); 

$xml = simplexml_load_string($data); 

echo $xml->followers_count; # 6 

「讓我們給這傢伙弊因爲他不知道,你不應該用正則表達式解析XML」的版本...

preg_match('#<followers_count>([0-9]+)</followers_count>#is', $xml, $matches); 
echo $matches[1]; # 6 
+0

這就是他爲什麼來問這個問題是如何正確完成的。在某個時間點,你也不知道。 –

+0

@Justin Lucas,是的,但我有一種感覺,他會忽略它,並採用「最簡單」的解決方案......如果他知道什麼是XML,他應該知道它有一個解析器,而不是使用偏移量和maxlen'的東西......我展示了它是如何完成的。 –

+0

@webarto對不起,我不知道關於PHP的一切D: – Mobilpadde

1

你正在尋找被稱爲XML什麼。 PHP有一個built-in XML parser這將允許你提取你需要的數據。

$xml = simplexml_load_file(
      'http://twitter.com/users/show.xml?screen_name=SlogaNator' 
     ); 

$follower_count = (int) $xml->followers_count; // int(6)