56 votes

Comment supprimer les guillemets d'une chaîne de caractères ?

$string = "my text has \"double quotes\" and 'single quotes'";

Comment supprimer tous les types de guillemets (dans différentes langues) de la base de données de l'UE ? $string ?

17 votes

$string n'a pas de guillemets, vous vous en rendez compte ?

0 votes

Qu'en est-il des citations représentées en tant que htmlentities ou urlencoded ?

2 votes

Parlez-vous des guillemets en langage naturel (par exemple, ") ou des guillemets en langage de programmation (tels que /*...*/ ) ?

130voto

J V Points 2956
str_replace('"', "", $string);
str_replace("'", "", $string);

Je suppose que vous voulez dire des guillemets ?

Sinon, optez pour une regex, cela fonctionnera pour les guillemets html par exemple :

preg_replace("/<!--.*?-->/", "", $string);

Les guillemets de style C :

preg_replace("/\/\/.*?\n/", "\n", $string);

Des guillemets de style CSS :

preg_replace("/\/*.*?\*\//", "", $string);

des citations de style bash :

preg-replace("/#.*?\n/", "\n", $string);

Etc etc...

9 votes

Il est impossible d'analyser correctement le HTML avec des expressions régulières. N'essayez jamais de le faire.

5 votes

Je suis d'accord, mais c'est aussi impossible de parser chaque le langage de programmation correctement...

21 votes

Str_replace accepte également les tableaux, donc str_replace(array('"", "'"), '', $string) fonctionnera également. Au fait, êtes-vous en train de dire que le HTML est un langage de programmation ? ;-)

4voto

Julio Popócatl Points 130

Vous pouvez faire de même en une seule ligne :

str_replace(['"',"'"], "", $text)

1voto

Oussama Points 71

Vous pouvez procéder comme suit :

str_replace(['\'', '"'], "", $text);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X