Option GLOBAL non acceptée regex
RésoluPJ47 Messages postés 77 Date d'inscription Statut Membre Dernière intervention -
- 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
- Passer un texte de majuscule en minuscule ou inversement - Guide
- Mise en forme tableau word - Guide
- Texte barré whatsapp - Guide
3 réponses
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
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.