La réponse littérale serait
trim($string,'"'); // double quotes
trim($string,'\'"'); // any combination of ' and "
Elle supprime tous les guillemets avant et arrière d'une chaîne de caractères.
Si vous devez supprimer strictement la première et la dernière citation au cas où elles existeraient, il pourrait s'agir d'une expression régulière comme celle-ci
preg_replace('~^"?(.*?)"?$~', '$1', $string); // double quotes
preg_replace('~^[\'"]?(.*?)[\'"]?$~', '$1', $string); // either ' or " whichever is found
Si vous avez besoin de supprimer seulement dans le cas où le guillemet avant et le guillemet arrière sont strictement appariés, alors utilisez la fonction de Réponse de Steve Chambers
Cependant, si votre objectif est de lire une valeur à partir d'un fichier CSV , fgetcsv est la seule option correcte. Elle s'occupera de tous les cas limites, en dépouillant également les boîtiers de valeur.
1 votes
Que faire en cas de
""Hello " World""
?0 votes
""Hello " World"" => ""Hello " World""
0 votes
Je ne sais pas si je rate quelque chose, quand je vois toutes les expressions régulières complexes Mais
preg_replace('/(^"|"$)/', '', '""Hello " World""')
renvoie à"Hello " World"
. Ou même'/^"|"$/'
comme le modèle fonctionne aussi.