FAQ » Szukaj » Użytkownicy » Grupy » Rejestracja » Profil » Zaloguj się, by sprawdzić wiadomości » Zaloguj

[PHP] Cenzor - automatyczny moderator treści

 
Napisz nowy temat   Odpowiedz do tematu    Forum forum.webcore.pl - forum, webmaster, php, css, xhtml, html, mysql, porady, skrypty Strona Główna -> Tutoriale i artykuły
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
jsmp



Dołączył: 12 Mar 2009
Posty: 3

PostWysłany: Czw Mar 12, 2009 11:02 pm    Temat postu: [PHP] Cenzor - automatyczny moderator treści Odpowiedz z cytatem

Masz własnego bloga lub serwis w którym materiały mogą być dowolnie komentowane przez wszystkich użytkowników, a jednocześnie nie masz czasu na stałe moderowanie wszystkich nadchodzących komentarzy ?
Na pewno przyda Ci się funkcja, która sama za Ciebie pousuwa ewentualne wulgarne wyrażenia.

Dzięki poniższemu skryptowi w łatwy sposób zapanujesz nad niechcianymi komentarzami.

Skrypt składa się z dwóch części. Pliku z funkcją cenzurującą oraz pliku z bazą wyrazów cenzurowanych. Dzięki rozdzieleniu, w łatwy sposób dodasz nowy plik z pełniejszą bazą.

plik: cenzor.php
Kod:
<?php
/* ------------Copyright------------------
Cenzor
autor: jsmp
www: jsmp.republika.pl
kontakt: jsmp@vp.pl
W przypadku użytku komercyjnego proszę o kontakt.
------------Copyright------------------ */

function cenzor($txt){
###----USTAWIENIA FUNKCJI CENZURUJACEJ---
$znacznik = '<span style="color:red">Ocenzurowano</span>';
###----KONIEC USTAWIEN---

$p = file_get_contents('cenzura.txt');
$p = str_replace(", ", '[a-z]*|[a-z]*', $p);


$txt = eregi_replace($p, $znacznik, $txt);
return $txt;
};
?>


W zmiennej $znacznik przechowywany jest fragment, który będzie wstawiany za każdym razem gdy w kontrolowanym tekście będzie znaleziony nieodpowiedni wyraz. W powyższym przykładzie daje to efekt:
Ocenzurowano

Linijka 14: pobranie zawartości pliku cenzura.txt (o pliku mowa będzie w dalszej części), w linii następnej następuje zamienienie wszystkich przecinków na |
Jest to konieczne dlatego, że znak | jest rozumiany w wyrażeniu regularnym jako OR (lub).

Linijka 18: Przeszukuje cenzurowany tekst w poszukiwaniu wyrazów znajdujących się w ułożonym powyżej wyrażeniu regularnym.

linijka 19: Zwraca przefiltrowany tekst.

Wygląd pliku z cenzurowanymi wyrazami:

cenzura.txt
Kod:
wyraz1, wyraz2, wyraz3, wyraz3

Należy jednak pamiętać by PODWOIĆ ostatni wyraz.
(chyba że ktoś potrafi rozwiązać ten problem)

Aby skorzystać na danej podstronie ze skryptu, należy na wstępie zaincludować plik z funkcją cenzor, lub wstawić na początku kod funkcji (pierwszy kod).

Wywołanie funkcji:
Kod:
echo cenzor($txt);


DEMO

W przypadku jakichkolwiek problemów ze skryptem proszę o pisanie w tym temacie.
_________________
Po radosnej stronie | WEBSTART - Webmasterzy webmasterom

Czy użytkownik o IP:[img]http://kinfo.ovh.org/ip.php[/img] pisze mądrze ?
Powrót do góry
Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum forum.webcore.pl - forum, webmaster, php, css, xhtml, html, mysql, porady, skrypty Strona Główna -> Tutoriale i artykuły Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Powered by phpBB © 2001, 2005 phpBB Group
Sonic free theme by spleen