расщепление строки по символу € с PHP не будет работать? - PullRequest
1 голос
/ 17 сентября 2010

У меня есть этот дерьмовый сайт, который мне нужно проанализировать, и html-элемент, который мне нужен, чтобы получить содержимое, содержащее символы "". фактический HTML-код этой страницы выглядит следующим образом:

<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 удаляет все содержащие теги при использовании sth вроде $td->item(0)->nodeValue;)

так что &euro; был разобран до - отлично. но когда я пытаюсь разбить строку (которая на самом деле немного длиннее, чем опубликованная выдержка) с помощью символа-€ с помощью

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

это не сработает. explode () просто не обнаружит символ €. я попытался разделить на "& euro;", но это тоже не сработает. я также пытался использовать str_replace () и preg_replace () - но никто из них не распознал бы символ: (

я что-то упустил? что я делаю не так?

Ответы [ 3 ]

3 голосов
/ 17 сентября 2010

Это все еще &euro; в строке - оно просто отображается в браузере как €.Вместо этого вам нужно разделить на &euro;.

1 голос
/ 17 сентября 2010

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

0 голосов
/ 28 октября 2010

попробовал с простым парсером php dom ... он работает :) 1001 *

...