|
|
|
|
Bonsoir à tous,
j'aimerais remplacer dans des zones de textes d'un back-office le guillemets droit ( \&\#034) ouvrant et fermant (donc le même) les citations par des guillemets (ouvrant=\&\#8220; et fermant=\&\#8221;) ayant plus de style à mon goût une fois dans ma page.
Dans ma fonction ci-dessous traitant le texte (là en ex. un simple strophe en remplace un autre) , je peux remplacer n'importe quelle entité utilisée dans mon texte par une autre... mais comment faire simplement et sans équivoque la même chose pour remplacer mon guillemet ( \&\#034) entourant et étant le même forcément en début et fin de texte par cette fois-ci des guillemets n'étant pas identiques de chaque côté de ma chaine ?
Donc convertir (\&\#034 bla bla bla bla \&\#034) =>(\&\#8220; bla bla bla bla \&\#8221;) et quel que soit évidemment le texte contenu entre les guillemets.
______________________________________________________________________________________
function modifchars($contenu){
$traiter = array("", "\&\#039;","");
$remplace = array("","\&\#8217;","");
$contenu = str_replace($traiter,$remplace,$contenu);
return $contenu;
}
//traitement du texte avant ma requête sql
$texte= htmlspecialchars(($texte),ENT_QUOTES,"UTF-8");
$texte = modifchars($texte);
_______________________________________________________________________________________
Si quelqu'un a en tête quelque chose de simple et propre...c'est pas de refus
Par avance merci à tous.
Callahan75
Configuration: Windows XP Firefox 3.0.11
Tu ne peux pas faire un Remplacer tous ?!
//Fonction qui remplace tous lse caractères spéciaux en les encodant
function remplacer_caracteres_accentues_et_script_douteux($a_remplacer)
{
//Il trouve des caractères spéciaux
$trouve = array("é", "à" ,"â" ,"ä" ,"ç" ,"è" ,"ê" ,"ë" ,"î" ,"ï" ,"ù" ,"ü" ,"û", "É", "À" ,"Â" ,"Ä" ,"Ç" ,"È" ,"Ê" ,"Ë" ,"Î" ,"Ï" ,"Ù" ,"Ü" ,"Û");
//Il remplace les cararctères trouvés
$remplace = array("é" ,"à" ,"â" ,"ä" ,"ç" ,"è" ,"ê" ,"ë" ,"î" ,"ï" ,"ù" ,"ü" ,"û", "É" ,"À" ,"Â" ,"Ä" ,"Ç" ,"È" ,"Ê" ,"Ë" ,"Î" ,"Ï" ,"Ù" ,"Ü" ,"Û");
return str_replace($trouve, $remplace, $a_remplacer);
}
|
En fait le noeud de ton problème c'est de différencier sans confusion possible le guillemet ouvrant et le guillemet fermant. Il faut pour cela trouver une condition qui soit toujours vérifiée dans un cas, et jamais dans l'autre.
|
Merci à vous deux pour vos réponses.
|