J'utilise var_dump pour sortir une chaîne mais la longueur est différente de ce qui est affiché alors j'ai imprimé chaque caractère et j'ai trouvé qu'il y avait les codes html cachés # 40; et # 41; dans la chaîne attribuant à la longueur. Ceux-ci causent des problèmes dans une instruction sql donc j'essaie de les supprimer, mais htmlspecialchars_decode, et urldecode ne supprime pas les caractères. Comment puis-je faire rouler ces codes? La valeur provient d'une base de données est utf-8 (CHARSET = utf8 COLLATE = utf8_bin) et ne contient aucun code html (stocké comme "Civic (sedan)" dans la table).html code apparaissant dans la chaîne php
//this is the output of the string
Civic (#40;sedan)#41;
echo var_dump($data['model']).'<br>';
//output
string(21) "Civic (sedan)"
echo var_dump(strip_tags($data['model'])).'<br>';
//output
string(21) "Civic (sedan)"
echo var_dump(htmlspecialchars_decode($data['model'])).'<br>';
//output
string(21) "Civic (sedan)"
echo var_dump(urldecode($data['model'])).'<br>';
//output
string(21) "Civic (sedan)"
pourriez-vous pas faire une str_replace(); ? – TheBlackBenzKid
Je pourrais mais alors je devrais remplacer la chaîne d'autres caractères, qui je ne sais pas sont stockés dans une base de données de 60 000 enregistrements –
vous auriez besoin de remplacer un tableau massif sauf si vous saviez avec certitude tous les cas. preg_replace serait mieux –