Fonction pour remplacer des strings (php)
yazou
Messages postés
95
Statut
Membre
-
dada -
dada -
Bonjour,
Je voudrais empecher les membres de mon site de poster leur mail ainsi que l url de leur site dans leur message. Je sais qu il existe des fonctions php du genre string replace pour cela mais je suis novice je ne sais pas quoi mettre dedans.
Quelqu un pourrait m aider ?
Merci par avance
Yaz
Je voudrais empecher les membres de mon site de poster leur mail ainsi que l url de leur site dans leur message. Je sais qu il existe des fonctions php du genre string replace pour cela mais je suis novice je ne sais pas quoi mettre dedans.
Quelqu un pourrait m aider ?
Merci par avance
Yaz
A voir également:
- Fonction pour remplacer des strings (php)
- Fonction si et - Guide
- Remplacer disque dur par ssd - Guide
- Fonction remplacer sur word - Guide
- Quel site pour remplacer coco - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
5 réponses
Salut yazou,
Tu peux tâter du côté des expressions régulières mais pour le moment tu peux te tourner vers cette fonction :
//En début de script
$_ENV['caracInterdits'] = array(
".com",
".fr",
".org",
...,
"@",
"http"
);
//Je te laisse garnir à souhait les différents mots qui correspondraient à une url
function noSite(&$texte) {
foreach($_ENV['caracInterdits'] as $carac) {
if(eregi($carac,$texte)) $texte = str_replace($carac,"",$texte);
}
}
Tu peux tâter du côté des expressions régulières mais pour le moment tu peux te tourner vers cette fonction :
//En début de script
$_ENV['caracInterdits'] = array(
".com",
".fr",
".org",
...,
"@",
"http"
);
//Je te laisse garnir à souhait les différents mots qui correspondraient à une url
function noSite(&$texte) {
foreach($_ENV['caracInterdits'] as $carac) {
if(eregi($carac,$texte)) $texte = str_replace($carac,"",$texte);
}
}
Merci
Je crois que j ai trouve mon bonheur ici https://www.roscripts.com/php_regular_expressions_examples-136/
Bien a vous
Yazou
Je crois que j ai trouve mon bonheur ici https://www.roscripts.com/php_regular_expressions_examples-136/
Bien a vous
Yazou
je reviens ver vous pour tenter de resoudre une erreur, lorsque j utilise le code suivant :
function text_area($string)
{
$string=preg_replace('\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b', 'xxxx@xxxx.xx', $string);
$string=preg_replace('\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]', 'xx', $string);
return $string;
}
j obtiens :
Warning</b>: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Delimiter must not be alphanumeric or backslash in
une idee ?
Merci
Yaz
function text_area($string)
{
$string=preg_replace('\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b', 'xxxx@xxxx.xx', $string);
$string=preg_replace('\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]', 'xx', $string);
return $string;
}
j obtiens :
Warning</b>: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Delimiter must not be alphanumeric or backslash in
une idee ?
Merci
Yaz
Bien le bonsoir,
Je peux te répondre mais ma façon de "coder" les expressions régulières est un soupçon différente.
Tout d'abord "Delimiter must not be alphanumeric or backslash in " --> pas de /b au départ ni à la fin donc #.
Dans un premier temps, on aura donc :
$string=preg_replace("#[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}#", "xxxx@xxxx.xx", $string);
$string=preg_replace("#(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]#", "xx", $string);
Par contre, les dièses à l'intérieur des crochets dans le deuxième preg_replace vont être embêtants.
Au final :
$string=preg_replace("#[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}#", "xxxx@xxxx.xx", $string);
$string=preg_replace("#(https?|ftp|file)://[-A-Z0-9+&@/%?=~_|!:,.;]*[-A-Z0-9+&@/%=~_|]#", "xx", $string);
Styvo.
Je peux te répondre mais ma façon de "coder" les expressions régulières est un soupçon différente.
Tout d'abord "Delimiter must not be alphanumeric or backslash in " --> pas de /b au départ ni à la fin donc #.
Dans un premier temps, on aura donc :
$string=preg_replace("#[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}#", "xxxx@xxxx.xx", $string);
$string=preg_replace("#(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]#", "xx", $string);
Par contre, les dièses à l'intérieur des crochets dans le deuxième preg_replace vont être embêtants.
Au final :
$string=preg_replace("#[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}#", "xxxx@xxxx.xx", $string);
$string=preg_replace("#(https?|ftp|file)://[-A-Z0-9+&@/%?=~_|!:,.;]*[-A-Z0-9+&@/%=~_|]#", "xx", $string);
Styvo.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question