PHP: la sérialisation et la désérialisation chaîne de caractères contenant des caractères d'échappement

Comment puis-je correctement serialize et unserialize une chaîne de caractères contenant des caractères d'échappement?

Donné:

$data = "\'test\'";
$out= serialize($data);
print_r($out); //->  s:8:"\'test\'";

Le problème, ici, c'est que la longueur de la chaîne n'est pas acceptée par unserialize:

$out = 's:8:"\'test\'"';
var_dump(unserialize($out)); //-> bool(false)

Mais si je change la longueur de la chaîne à 6 (en ignorant l'évasion caractères):

$out = 's:6:"\'test\'"';
var_dump(unserialize($out)); //-> string(6) "'test'"

Il unserializes correctement.

Ce serait une bonne façon de traiter ce problème?

OriginalL'auteur mikkelbreum | 2011-08-22