2010-09-16 90 views
1

我得到了這個蹩腳的網站,我需要解析和html元素,我需要獲取包含「」符號的內容。這個頁面的實際HTML看起來像這樣:用PHP分隔字符串 - 與PHP的符號不起作用?

<td>Mais-Lauch-R&ouml;sti <font color=#000000 size=1>(1,2,9,11)</font> mit Paprikasauce <font color=#000000 size=1>(3,9)</font><nobr><b> 2,10 &euro;</b></nobr><br/>........ 

所以我使用DOM來獲取元素的內容。不幸的是,這最終如下面的代碼(通過的var_dump()):

string(270) "Mais-Lauch-Rösti (1,2,9,11) mit Paprikasauce (3,9) 2,10 €......... 

(DOM似乎使用某事像$td->item(0)->nodeValue;時去除所有包含的標記)

所以&euro;被解析以 - 細。但是當我嘗試拆分字符串(實際上是長於貼摘錄一點)由€-symbol使用

$data = explode("€", $data); 

將無法​​正常工作。 explode()只是不會檢測到€符號。我試圖通過「&歐元」分裂,但這也不起作用。我也使用str_replace()函數和的preg_replace()嘗試 - 但沒有人會承認符號:(

我失去的東西我在做什麼錯

+2

啊 - 順便說一句: xenonite 2010-09-16 22:23:40

+1

嗯,照顧給網站的網址?會解決很多字符集的問題 - 猜測了很多:) – Wrikken 2010-09-16 23:12:18

+0

它的一個asp網站:http:// www。 studentenwerk-aachen.de/essen/speiseplaene.asp選擇「diese woche」並選中「alleauswählen」,然後點擊「speisepläneanzeigen」。這是我需要解析 – xenonite 2010-09-16 23:43:59

回答

0

用簡單的PHP DOM解析器嘗試它...它的工作原理:)

3

它仍然在字符串中&euro; - 只是它? 。在瀏覽器中顯示€你需要拆就&euro;代替

+1

引用自己的網站: 「€」,但這不會工作要麼 – xenonite 2010-09-16 23:42:42

1

$data = explode("&euro;", $data);

+0

這正是我試過 – xenonite 2010-09-16 23:43:06