2011-01-15 4 views
0

Мой предыдущий вопрос и этот вопрос оба связаны немного. пожалуйста, взгляните на мой previous question. Я не нашел другого способа для несериализации данных, поступающих со строковой операцией.Ошибка чтения данных из файла специальных символов

Я могу получить весь контент из файла, но не смог получить конкретную строку из этого содержимого ,

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

Функция строковой работы PHP не работает должным образом, когда столкновение первого специального символа в строке и прекращение обработки немедленно, поэтому они не дают мне правильный вывод.

Первоначально они выглядят (^@)

:"Mage_Core_Model_Message_Collection":2:{s:12:"^@*^@_messages";a:0:{}s:20:"^@*^@_lastAddedMessage";N;} 

но когда я эхо они дисплей, как ?

Вот код, что я пытался

$file='/var/www/html/products/var/session/sess_ciktos8icvk11grtpkj3u610o3'; 
$contents=file_get_contents($file); 
$contents=htmlspecialchars($contents); 
//$contents=htmlentities($contents); 
echo $contents; 

$restData=strstr($contents,'"id";s:4:"'); 
echo $restData; 
$id=substr($restData,0,strpos($restData,'"')); 
echo $id; 

Я изменил default_charset до iso-8859-1, а также utf-8, но не работает с обоими

Пожалуйста, дайте мне знать Как я могу это решить. Спасибо.

ответ

2

Эти символы, которые вы видите как ^@, на самом деле являются нулевыми байтами. У них нет надлежащего отображения, они не предназначены для отображения - это внутреннее представление защищенных свойств в движке. Вы не должны возиться с ними.

Что касается разрешения, было бы неплохо узнать, какую резолюцию вы ищете - какого результата вы пытаетесь достичь?

Смежные вопросы