8797 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je suis un peu en galère dans la suppression d'un caractère.

J'ai des phrases comme celle-ci :

"Bibliothèque avec élément de fixation en acier laqué. Câbles taraudés en acier inox en différents dimensions. Étagères et cabinets en : - ""Chêne naturel"", blanchi, teinté wengé ou merisier - Laqué laminé liquide - Laqué brillant Les étagères sont ""disponibles"" aussi en verre trempé transparent ou en couleur"

Les double quotes entourent ma phrase et des double doubles quotes peuvent être contenu dans celle-ci.

Je souhaiterais supprimer les quotes au début et à la fin de mes phrases sans supprimer les quotes à l'interieur de la phrase.

J'ai essayé de rechercher la première " et de la supprimer si le caractère suivant n'est pas une " mais sa ne fonctionne pas bien.

Quelqu'un aurait une idée, une démarche de fonctionnement à me proposer.

Petites précisions : Mon texte provient d'un fichier texte.

Cordialement

BiB1
Salut,

Tu as plusieurs possibilités :

// Solution 1 :
$contenu = str_replace( '""', '¤¤', $contenu );
$contenu = str_replace( '"', '', $contenu );
$contenu = str_replace( '¤¤', '""', $contenu );

// Solution 2 (uniquement si tu es certain que ton texte est toujours entouré de guillemets) :
$contenu = substr($contenu, 1, -1);

// Solution 3 (uniquement si tu es certain que ton texte est toujours entouré de guillemets) :
$contenu = preg_replace( '`^"(.*)"$`', '$1', $contenu );

// Solution 4 :
// Elle existe, avec une regex, en gérant tous les cas, mais j'ai pas le temps de te la faire
Salut,

Merci pour ta réponse, je testerais lundi mais à première vu, je dirais qu'il va y avoir problème :
Solution 1 : Va me supprimer tout les " (si je ne me trompe pas) alors qu'il en existe dans le texte et qu'il ne faut pas les supprimer

$contenu = str_replace( '""', '¤¤', $contenu );
$contenu = str_replace( '"', '', $contenu );
$contenu = str_replace( '¤¤', '""', $contenu );


Solution 2 : Je ne suis pas persuadé (malheuresement) que le 1 premier caractère soit bien ", il ya des cas ou il existe un espace avant mais aussi d'autres caractère du genre @, #, [, { et d'autre.

$contenu = substr($contenu, 1, -1);


La 3eme je ne connais pas précisément sont action mais je pense que le probleme va être le même.

J'essais ça lundi quand même, merci pour ta réponse Smiley ravi