Option GLOBAL non acceptée regex
Résolu/FerméPJ47 Messages postés 77 Date d'inscription jeudi 2 mars 2023 Statut Membre Dernière intervention 27 février 2024 - 15 déc. 2023 à 09:01
- Corinne copie un texte sur le web et le colle dans un document avec l'option "texte non formaté" (aussi appelée "texte sans mise en forme"). qu'est-ce qui est conservé ?
- Mise en forme conditionnelle excel texte - Guide
- Transcription audio en texte word gratuit - Guide
- Mettre un texte en majuscule - Guide
- Insérer une image dans word sans bouger le texte - Guide
- Copier texte pdf - Guide
3 réponses
12 déc. 2023 à 18:24
Bonjour,
le 'g' est implicite dans la fonction preg_replace. Tu n'as pas besoin de le mettre.
13 déc. 2023 à 07:05
Bonjour @jordane45 StatutModérateur
merci de ce retour, comme cela ne fonctionnait pas dans regex101, je l'avais effectivement mis - ok mes URL effectivement sont bien toutes supprimées.
en revanche
$string = preg_replace('/(https?:\/\/|www\.)([a-zA-Z0-9-_\.\/\?=&]+)/', '-',$_POST['message']); $regex = htmlentities($string); $regex1 = preg_replace('/([^!A-Za-z0-9_\ \.\:\-\éèêëîï]+)/', 'jen', $regex);
ne fonctionne pas pour les caractères non latins (ex : Ողջույն, ես ուզում էի իմանալ ձեր գինը) cela me supprime tout.
comment enlever ces caractères sans toucher au reste du message
merci beaucoup
Modifié le 14 déc. 2023 à 16:35
Tu peux remplacer du texte écrit dans un alphabet non ASCII par une translittération en utilisant Transliterator::transliterate et iconv.
Par exemple, ton texte "Ողջույն, ես ուզում էի իմանալ ձեր գինը" (qui semble être de l'arménien) est remplacé comme ceci :
var_dump(iconv("UTF-8", "ASCII//TRANSLIT//IGNORE", transliterator_transliterate('Any-Latin; Latin-ASCII', "Ողջույն, ես ուզում էի իմանալ ձեր գինը")));
pour donner :
string(34) "Ogjuyn, es uzum ei imanal jer gin?"
(cela semble être de l'arménien selon Google Translate et cela voudrait dire : "Salut, je voulais connaître ton prix ?")
La translittération consiste à remplacer les caractères d'un jeu de caractères donné en un autre avec leur équivalent le plus proche.
Du coup, je pense que tu peux utiliser ta regexp pour supprimer les URL et faire une translittération pour n'avoir que de l'ASCII.
15 déc. 2023 à 09:01
Bonjour @[Dal] StatutContributeur
merci beaucoup pour cette solution !! effectivement mes caractères sont bien transformés ! merci beaucoup, je commençais à désespérer de trouver une méthode.
Merci !!
Bonne Journée
J