Cette fonction renvoie le texte reformaté de façon à ce qu'il soit affichageable sur une page html

Soyez le premier à donner votre avis sur cette source.

Vue 5 065 fois - Téléchargée 232 fois


Description

J'ai essayé les fonctions htmlspecialchar() et htmlentities()... Mais je n'ai rien trouvé de pertinent et efficace. Finalement j'ai écrit cette fonction parce que j'en avais marre de chercher une fonction qui fasse ce que je veux.
Mais si vous avez des suggestions, je suis toujours prenneur.
Mon problème : Je voulais enregistrer un texte avec tous les caractères qu'il peut comporter dans une BDD MySQL et je voulais le reprendre pour pouvoir l'afficher ensuite...

Source / Exemple :


J'utlise cette fonction dans ce cas suivant par exemple :
$sql = "UPDATE flashinfo SET titre = '".texteToHTML($HTTP_POST_VARS['titre'])."',soustitre = '".texteToHTML($HTTP_POST_VARS['soustitre'])."', texte = '".texteToHTML($HTTP_POST_VARS['texte'])."',datepublication = ".$datepublication.", datevalidation = NULL , urlimage = '".$urlimage."' WHERE id = '".$HTTP_POST_VARS['id']."';";

En fait cette fonction me sert à balancer du texte dans une Base De Données MySQL. Texte que je voudrai afficher ensuite dans une page HTML / PHP

/* Cette fonction renvoie le texte reformaté de façon à ce qu'il soit affichable sur une page HTML et enregistrable dans une base MySQL */
function texteToHTML($texte){

// Modèle, c'est pour moi, rien à faire dans un code 'pro', histoire de copier-coller
//	$texte = preg_replace('!!', '&', $texte);

	$expretion = array('!\"!',
						'!\'!',
						'!\t!',
						'!<!',
						'!>!',
						'!?!',
						'!,!',
						'! !',
						'!°!');
    $html = array('"',
					'´',
					'   ',
					'<',
					'>',
					'?',
					'¸',
					'¤',
					'°');
    $texte = preg_replace($expretion,$html, $texte);
	$texte = nl2br($texte);

	return $texte;

}

P.S. :
Après avoir chercher un peu plus longtemps dans la librairie de fonctions disponibles en PHP, je me suis rendu compte que la fonction "mysql_escape_string" sert à faire ce que je veux... Mais il faut que j'éprouve cette fonction qui est assez nouvelle et pas très utilisée apparemment ! ! ! Il me semble qu'elle ajoute des caractères indésirables parce que lorsque je réutilise le texte enregistré, j'ai des caractères bizzares que apparaissent... Si vous avez des remarques concernant cette fonction, n'hésitez pas à poster un commentaire surtout pour me faire part des ces limites et capacités ! ! !

Conclusion :


Je remercie ce qui m'ont aidé en répondant à mes questions sur le forum... Ils se reconnaîtront.
Un merci particulier à ImmortalPC qui doit vivre sur le site de code source parce qu'il répond à toutes mes questions ! ! !

Merci à tous...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

lnp
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
http://fr2.php.net/manual/fr/function.mysql-real-escape-string.php

Finalement avec la fonction quote_smart() qui est presentee sur le site de php.net, les requetes a la base de donnees passent comme un charme... Fini les problemes ! ! !

LNP...
pour vous...
lnp
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
Relis mes commentaires et peut-être comprendras-tu ! ! !

LNP...
pour vous...
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29 -
qu'es-ce-qui ne fonctionne pas ?
lnp
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
C'est peut-être plus simple mais je ne sais pourquoi cela ne fonctionne pas correctement... D'ailleurs je me serai bien contenté d'un htmlentities ou d'un htmlspecialchar, SI cela fonctionnait correctement !

LNP...
pour vous...
coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29 -
htmlentities... c'est bien plus simple...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.