• Scripts

Voici une petite fonction codée par mes soins afin de traiter une chaine de caractères en fonction des besoins:

  • HTML => Supprime les balises HTML
  • TRIM => Enlève les espaces et tabulations qui se trouve en début et fin de la ligne
  • MAJUSCULE => Mise en majuscule
  • MINUSCULE => Mise en minuscule
  • ACCENT => Remplace les accents par équivalent non accentués
  • PONCTUATION => Remplace 1 ponctuation par 1 espace
  • TABULATION => Remplace 1 tabulation par 1 espace
  • ENTER => Remplace 1 entrée (\r\n) par 1 espace
  • DOUBLE => Remplace plusieurs espaces par 1 espace
  • TOUT => 'Toutes les règles de transformation sont appliquées

Les options seront effectuées dans l'ordre dans lesquelles elles sont placées dans le tableau en fonction de vos besoins

Merci pour vos éventuels retours et/ou conseils d'amélioration.

 
<?php

/**
 * Fonction qui permet de traiter de différentes manières un texte
 * @param  string $str     Chaine de caractères à traiter
 * @param  array  $options Listes des options à effectuées sous forme de tableau
 * @return string          Chaine de caractères transformées en fonction des options
 */
function clean_text($str,$options = array()){

	if(in_array('TOUT',$options)):
		$options = array('HTML','TRIM','MAJUSCULE','MINUSCULE','ACCENT','PONCTUATION','TABULATION','ENTER','DOUBLE');
	endif;

	foreach($options as $option):
		switch($option){

			// Suppression des espaces vides en debut et fin de chaque ligne
			case 'TRIM':
				$str = preg_replace("#^[\t\f\v ]+|[\t\f\v ]+$#m",'',$str);
			break;

			// Remplacement des caractères accentués par leurs équivalents non accentués
			case 'ACCENT':
				$str = htmlentities($str, ENT_NOQUOTES, 'utf-8');
				$str = preg_replace('#&([A-za-z])(?:acute|cedil|caron|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
				$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. 'œ'
				$str = html_entity_decode($str); 
			break;

			// Transforme tout le texte en minuscule
			case 'MINUSCULE':
				$str = mb_strtolower($str, 'UTF-8');
			break;

			// Transforme tout le texte en majuscule
			case 'MAJUSCULE':
				$str = mb_strtoupper($str, 'UTF-8');
			break;

			// Remplace toute la ponctuation par des espaces
			case 'PONCTUATION':
				$str = preg_replace('#([[:punct:]])#',' ',$str);
				$exceptions = array("’");
				$str = str_replace($exceptions,' ',$str);
			break;

			// Remplace les tabulations par des espaces
			case 'TABULATION':
				$str = preg_replace("#\h#u", " ", $str);
			break;

			// Remplace les espaces multiples par des espaces simples
			case 'DOUBLE':
				$str = preg_replace('#[" "]{2,}#',' ',$str);
			break;

			// Remplace 1 entrée (\r\n) par 1 espace
			case 'ENTER':
				$str = str_replace(array("\r","\n"),' ',$str);
			break;

			// Supprime toutes les balises html
			case 'HTML':
				$str = strip_tags($str);
			break;
		}
	endforeach;
	
	return $str;
}
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Paramétrages de cookies

×

Cookies fonctionnels

Ce site utilise des cookies pour assurer son bon fonctionnement et ne peuvent pas être désactivés de nos systèmes. Nous ne les utilisons pas à des fins publicitaires. Si ces cookies sont bloqués, certaines parties du site ne pourront pas fonctionner.

Mesure d'audience

Ce site utilise des cookies de mesure et d’analyse d’audience, tels que Google Analytics et Google Ads, afin d’évaluer et d’améliorer notre site internet.

Contenus interactifs

Ce site utilise des composants tiers, tels que NotAllowedScript673ed17060cf6ReCAPTCHA, Google NotAllowedScript673ed17060addMaps, MailChimp ou Calameo, qui peuvent déposer des cookies sur votre machine. Si vous décider de bloquer un composant, le contenu ne s’affichera pas

Réseaux sociaux/Vidéos

Des plug-ins de réseaux sociaux et de vidéos, qui exploitent des cookies, sont présents sur ce site web. Ils permettent d’améliorer la convivialité et la promotion du site grâce à différentes interactions sociales.

Session

Veuillez vous connecter pour voir vos activités!

Autres cookies

Ce site web utilise un certain nombre de cookies pour gérer, par exemple, les sessions utilisateurs.