Script de censure

WRInaute occasionnel
Bonjour,

Tout d'abord, joyeux Noël à tous !
Je suis à la recherche d'un script de censure pour les pages de mon site.
Je n'ai rien trouvé sur google...
En connaissez-vous un ?

Merci.
 
WRInaute passionné
Tu peux le faire toi-même...

Il te suffit de créé une liste de mots interdit et de faire une recherche sur les texte soumis.
 
WRInaute occasionnel
Je ne vois pas ce que tu veux dire...
Avec une base de donnée ? Et comment faire pour remplacer les mots interdits par d'autres mots ?
 
WRInaute passionné
Audiofeeline a dit:
PackRef a dit:
str_replace en php
+1

Pas d'accord car pas assez efficace...
str_replace va remplacé les chaine de lettre y compris à l'intérieur d'un mot.

Ex.
pour interdire "non",

il va remplacé
:arrow: non par ***
:arrow: Non par Non
:arrow: sinon par si***

il faut utilisé les regex comme par exemple :
Code:
$texte = 'ceci est un texte comportant des mots interdit tel que je veux pas cette expression, ni ce mot et encore moins ce mot interdit absolument.';

$texteCensure = preg_replace('/\b(je veux pas cette expression|mot|interdit)\b/i', ' ****** ', $texte); // i pour ne pas tenir compte de la casse ; se méfier avec é et É dans ce cas pas de prise en compte

echo $texteCensure

// ceci est un texte comportant des mots ****** tel que ****** , ni ce ****** et encore moins ce ****** ****** absolument.
 
WRInaute passionné
la regex que je t'indiquais n'est pas assez restrictive, en particulier si le mot à censuré comporte une lettre accentuée au début ou à la fin.
De même il ne tient pas compte si le mot est au début ou à la fin de la chaine.

Voici la bonne regex
Code:
preg_replace('/^|\b|\s|\(|\'(je veux pas cette expression|mot|interdit)\b|\s|\)|,|$/i', ' ****** ', $texte);

* edit Petite erreur de code rectifiée *
 
WRInaute occasionnel
Je suis pas sûr que tu comprennes quel script je cherche (ou je n'arrive pas à faire fonctionner ton script :) ).
J'ai ce texte :
Bienvenue sur le site Blabla.com, n'hésitez pas à nous laisser vos impressions dans le livre d'or, merci.
Je voudrais que la censure le remplace par :
Bienvenue sur le site Blabla.com, n'hésitez pas à nous laisser vos impressions dans le <a href="livredor.php">livre d'or</a>, merci.
 
WRInaute occasionnel
Ben en fait, ça remplace un mot par un autre... Pour dans mon cas créer des liens.
Mais le script de medium69 fonctionne avec des variables venant d'une base de donnée, tandis que moi je cherche un script pour une page déjà faite, pour remplacer dans du texte.
 
WRInaute occasionnel
Bin si ta page est déjà faite alors fait le à la mano, si ta page est dynamique alors faut effectivement utiliser les variables.

Sinon, ne parle pas de censure mais de liens automatique et cherche du côté de autolink.php ;)
 
WRInaute passionné
gcvoiron a dit:
Je suis pas sûr que tu comprennes quel script je cherche (ou je n'arrive pas à faire fonctionner ton script :) ).
J'ai ce texte :
Bienvenue sur le site Blabla.com, n'hésitez pas à nous laisser vos impressions dans le livre d'or, merci.
Je voudrais que la censure le remplace par :
Bienvenue sur le site Blabla.com, n'hésitez pas à nous laisser vos impressions dans le <a href="livredor.php">livre d'or</a>, merci.

Effectivement ce n'est plus de la censure...

Concrètement, tu veux faire quoi ??

:arrow: Remplacé un ou plusieurs mot(s) par un lien (toujours le même) ?
:arrow: Remplacé un ou plusieurs mot(s) par un lien (qui peut changé) ?

Tu m'a parlé de censure, je t'ai donc pondu un script qui le permet...

Maintenant, si tu veux un script qui te met un lien quelconque vers un mot quelconque, selon la page ou le contexte... j'ai aussi :wink:
Mais faut pas rêvé... tu aura toujours des variables.

Maintenant, peut-être que le solution que l'on te proposait au début du fil est peut-être (certainement :?: ) la tienne.
 
WRInaute occasionnel
Alors je veux changer un mot en un lien. Le motA deviendra toujours le lienA, le motB toujours le lienB et ainsi de suite...
 
WRInaute occasionnel
Maintenant, si tu veux un script qui te met un lien quelconque vers un mot quelconque, selon la page ou le contexte... j'ai aussi
Interessé aussi, j' n'ai que autolink trouvé sur phpsources.org mais ça ne me convient pas !
 
WRInaute passionné
Le code que je t'indiquais avais une parenthèse mal placée... je l'ai corrigé.

Je ne sais pas si c'est ce que tu cherche, mais pour faire simple en voici un très simple basé sur celui que j'indiquais.

Code:
$infosLink = array(	array('fichier' => 'livredor',	'lien' => 'livre d\'or'),	
					array('fichier' => 'forum',		'lien' => 'forum'),	
					array('fichier' => 'contact',	'lien' => 'contact|écrivez-moi')); // contact OU écrivez-moi

for	($nb = 0; $nb < count($infosLink); $nb ++) {
	$value = preg_replace('/(^|\b|\s|\(|\')('.$infosLink[$nb]['lien'].')(\b|\s|\)|,|$)/Ui', '$1<a href='.$infosLink[$nb]['fichier'].'.php">$2</a>$3', $value, 1);
	// Option :
	// "i" => pour ne pas tenir compte de la casse
	// ", 1" à la fin de la regex ; 1 pour ne faire le changement qu'à la première occurence.
	}

Autrement il y à un peu plus compliqué en se servant de BDD pour mettre en forme un texte sans trop de BBcode qui peut donné cela par exemple :
 
Discussions similaires
Haut