2013-03-30 1 views
0
$this->row['contents'] = strip_tags($this->row['contents']); 
$this->words = explode(" ", $this->row['contents']); 

Код выше должен создать массив с key => value парой для каждого слова $this->row['contents']. В нормальных условиях он работает нормально, но с такой строкой, как:PHP взорваться() не работает должным образом с помощью специальных символов

Это стоит 10,10 $ за литр.

Он отделит, как

[0] => This 
[1] => Costs U$ 
[2] => 10.40 per 
[3] => liter. 

Любые идеи, как решить эту проблему?

+0

Это работало отлично для меня .... '$ вар = 'Это стоит U $ 10,40 за литр.'; echo var_export (explode ('', $ var), TRUE); ' – Aiias

+6

Hexdump строку и выясните, действительно ли какие-либо из ваших предполагаемых пространств являются вкладками или символами новой строки или неразрывными пробелами. – mario

+0

Предоставляет ли PHP возможность взорваться регулярным выражением? Если это так, взорваться на '\ s'? – Patashu

ответ

1

может быть, этот код поможет вам

$this->words = preg_split('/\s+/', $this->row['contents']);