Я использую PHP версии 5.1.6PHP StrPos специальные символы
У меня есть строка (файл сеанса) и нужно извлечь значение из него, поэтому я найти иголку в строке, но возвращает false, я уменьшил код до этого:
$string = ';SERVER_NAME|s:17:"stackoverflow.com";REMOTE_ADDR|s:13:"69.59.196.211";';
$start = strpos($string, ';SERVER_NAME|s:"');
echo $start; // prints nothing because $start = false
$start = strpos($string, 'SERVER_NAME|s:');
echo $start; // prints 1;
Как вы заметили, если у меня есть символ ';' или символ «» в игле, поиск возвращает false, я попытался использовать chr() для всех символов в игле, но имел тот же результат. Если я удалю ';' и '' 'из строки, если находит иглу в строке.
Как я могу найти специальные символы в строке с помощью PHP?
'; SERVER_NAME | S: 17: "' == '; SERVER_NAME | S:"' --- игла нет в строке – acm
Хотя правильный ответ still unserialize() и поиск массива –
unserialize() не работает с этим форматом строки (если я сериализую строку с serialize(), формат не совпадает с этим), это был мой первый выбор, но не был успешно в его реализации. –