Bonjour,
J'ai développé un script de traitement de texte (il fait divers modification de façon à corriger des mises en forme dans un texte soumis par l'utilisateur). J'ai ajouté une fonctionnalité permettant d'ajouter une majuscule automatiquement à chaque début de paragraphe mais j'ai un problème avec les lignes de dialogue.
Le script remplace déjà automatiquement toute les tirets des lignes de dialogue pour les unifier, mais ignore la première ligne du texte soumis (à savoir le premier caractère de toute la chaine de texte).
Je souhaiterais vérifier si le premier caractère est un tiret et si c'est le cas le remplacer par le tiret unifié que j'ai choisie.
Le code qui m'a sembler le plus logique est celui là :
Mais ça ne marche pas...
J'ai un peu de mal avec les expression régulière... si quelqu'un avait la solution, merci d'avance.
Modifié par Goldysama (12 Jul 2010 - 23:25)
J'ai développé un script de traitement de texte (il fait divers modification de façon à corriger des mises en forme dans un texte soumis par l'utilisateur). J'ai ajouté une fonctionnalité permettant d'ajouter une majuscule automatiquement à chaque début de paragraphe mais j'ai un problème avec les lignes de dialogue.
Le script remplace déjà automatiquement toute les tirets des lignes de dialogue pour les unifier, mais ignore la première ligne du texte soumis (à savoir le premier caractère de toute la chaine de texte).
Je souhaiterais vérifier si le premier caractère est un tiret et si c'est le cas le remplacer par le tiret unifié que j'ai choisie.
Le code qui m'a sembler le plus logique est celui là :
//edit : certain caractère s'affichent mal sur le forum, ça vient du fait que ce sont des caractères unicodes
if (preg_match("/^(–|‐|‒|–|—|―|-|_)/", $txt_sanitize_8)) {
$cherche = '/./' ;
$remplace = '– ' ;
$txt_sanitize_8 = preg_replace($cherche, $remplace, $txt_sanitize_8,1) ;
}
Mais ça ne marche pas...
J'ai un peu de mal avec les expression régulière... si quelqu'un avait la solution, merci d'avance.
Modifié par Goldysama (12 Jul 2010 - 23:25)