Rent A Coder

Filtro de palabras en PHP

Imprimir Imprimir - Enviar a un amigo Enviar a un amigo
12345 (1 votos, promedio: 5 de 5)
Loading ... Loading ...

A raíz de un tema que vi en un foro, se me ocurrío hacer una pequeña función en PHP para censurar ciertas palabras en un texto. En realidad es bastante simple lo que hace, y gracias al poder de las expresiones regulares tiene muchas posibilidades. Aqui dejo la función y después paso a comentarla.

<?php
function filtrado($texto, $reemplazo = false) {
$filtradas = 'p?uta, mierda, pendej[ao]s?';

$f = explode(',', $filtradas);
$f = array_map('trim', $f);
$filtro = implode('|', $f);

return ($reemplazo) ? preg_replace("#$filtro#i", $reemplazo, $texto) : preg_match("#$filtro#i", $texto) ;
}
?>

Ahora la explicación:

  • Línea 3: Aquí se definen las palabras a buscar separadas por coma. Se puede hacer uso de comodines. Por ejemplo, “p?uta” censura “puta” y “uta“; “pendej[ao]s?” censura “pendeja“, “pendejo“, “pendejos“, “pendejas“.
  • Línea 5: Dividimos las palabras en un arreglo.
  • Línea 6: Limpiamos los posibles espacios en blanco alrededor de la palabra.
  • Línea 7: Las unimos con el caracter |.
  • Línea 9: El segundo parametro es opcional. Si se pone, se retorna la cadena del primer parametro con las palabras prohibidas reemplazadas por el texto que se haya pasado como segundo parametro. Si no se especifica el segundo parametro, entonces la funcion retorna verdadero en caso de que se haya encontrado alguna palabra en el texto o falso en caso de que la cadena este limpia.

Ejemplo | Código del ejemplo

Meme musical

Imprimir Imprimir - Enviar a un amigo Enviar a un amigo
12345 (No calificado)
Loading ... Loading ...

Meme visto en montones de lados, pero que me animé a hacerlo cuando Danken me paso este xD

Instrucciones:

1. ABRE LA BIBLIOTECA DE TU REPRODUCTOR DE AUDIO PREDILECTO.
2. APLICA LA MODALIDAD SHUFFLE O ALEATORIO.
3. PRESIONA PLAY.
4. POR CADA PREGUNTA, RESPONDE CON LA CANCION QUE SE ESCUCHE.
5. CUANDO VAYAS A RESPONDER LA SIGUIENTE PREGUNTA, PRESIONA EL BOTON NEXT.
6. NO MIENTAS.

1.- ¿Como te sientes hoy?
Inner Circle - Andy Mckee

2.-¿Cual es tu perspectiva de la vida?
Humanity - Scorpions

3.-¿Que piensa tu familia de ti?
Braided Hair (Feat. Speech & Neneh Cherry) - 1 Giant Leap

4.- ¿Que piensan tus amigos de ti?
Before - Infected Mushroom

5.- ¿Que piensa la gente que no te conoce?
Only Hope - Mandy Moore

6.-¿Que piensa la gente que quiere estar contigo?
Frozen - Within Temptation

7.- ¿Cómo ha sido tu vida amorosa hasta ahora?
Mujer Amante - Rata Blanca

8.- ¿Como serás en el futuro?
Gone with the sin - HIM

9.-¿Te casarás?
Moonlight Drive - The Doors

10.-¿Tendrás hijos?
Blue Sunday - The Doors

11.- ¿Eres bueno en la escuela?
By her - BECK

12.- ¿Serás exitoso?
Brainstorm - BECK

13.-Canción para tu cumpleaños:
The End - The Doors

14.-Canción para tu funeral:
Hello to the cities - The Doors

15.-La canción sobre tu vida:
My Culture (Feat. Robbie Williams & Maxi Jazz) - 1 Giant Leap

16.- ¿Tu mejor amig@ y tu son…?
Of Infernal and the Darkest Life - Shellyz Raven

17.- ¿Para los tiempos felices…?
Building a memory - Andy Mckee

18.- ¿Para los tiempos tristes…?
Moon on the water - Tanaka Koyuki & Minami Maho

19.- ¿Para todos los días…?
The Highwayman - Loreena McKennitt

20.- ¿Para mañana…?
Common ground - Andy McKee

21.- ¿Tu alter Ego…?
Black Horse and the Cherry Tree - KT Tunstall

22.- ¿Tu perspectiva del mundo…?
Tú - Noelia

23.- ¿Tendrás una vida feliz?
Sleeping Sun - Nightwish

24.- ¿Como será tu muerte?
Special Place - Infected Mushroom

25.- ¿Eres una buena persona?
Change the Formality - Infected Mushroom

26.- ¿Vale la pena aquello a lo que te dedicas?
Dagen Viker og Gaar Bort - Shellyz Raven

27.- ¿Que opina la gente de lo que dices?
Lost Melody - Belle Ame

28.-¿Tu mayor defecto?
The Howling - Within Temptation

29.-¿Tu más grande virtud…?
Mortifir - Shellyz Raven

30-¿Tu cuerpo…?
The Garden of Everything - Maaya Sakamoto, Steve Conte

31.-¿Fantasía sexual?
Send me an angel - Scorpions

32.-¿Mueres por mí?
Desolation - Shellyz Raven

33.-¿Que opinan tus amigos de la infancia sobre ti?
Gymnasium - Hyoudou Band

34.-¿Tu inclinación política es más bien…?
Don't Speak - No Doubt

35.-¿Lo que más te prende es?
O Olhar - Madredeus

36.-¿Tu mayor frustración…?
Piece of Tears - Goofy'S Holiday

37.-¿Que piensa la gente cuando ve tus ojos?
The Friend I Never Met - Andy McKee

38. ¿Tus manos…?
I Can't See Your Face In My Mind - The Doors

39.-¿Tu más reciente relación amorosa?
So damn beautiful - Polaroid

40.-¿Que es lo que más temes de ti mismo/misma?
Our farewell - Within Temptation

41.-¿En la cama eres…?
Here without you - 3Doors Down

42.-¿Que te hace llorar?
The Crystal Ship - The Doors

43.-¿Tu pareja ideal es…?
Caged - Within Temptation

44.-¿El dolor para ti es como…?
Reloaded - Chiba Tsunemi

45.-¿Tu personalidad tiende a…?
Face - BECK

46.-¿Apodo?
Frost - Shellyz Raven

47.-¿Que opinan la mayoría de los hombres acerca de ti?
Little More Than Before (Slip Out) - FEET (BECK)

48.-¿Y las mujeres?
My Eyes Have Seen You - The Doors

49.-Para despedirte…
Hymn to the sea - Celtic Bagpipes

Desordinarios: Sombrillas en el Metro

Imprimir Imprimir - Enviar a un amigo Enviar a un amigo
12345 (No calificado)
Loading ... Loading ...

Hoy domingo fue la segunda misión de “DesOrdinarios“, que es el nombre que se decidió para nuestro grupo de Improv Everywhere. Y bueno, para mas info, mejor ir a la página oficial del grupo: DesOrdinarios

Cosas del mIRC Scripting

Imprimir Imprimir - Enviar a un amigo Enviar a un amigo
12345 (No calificado)
Loading ... Loading ...

Mas que nada como recordatorio:

on 1:INPUT:*: {
if ($regex(,$1,^([+-][qaohvmb]+)+$)) { mode # $1- | halt }
if ($1 == .kr) { msg # Haciendo kick al azar~ | kick # $nick(#,$rand(1,$nick(#,0))) Kick no Jutsu~ | halt }
}
  1. Acciones a relizar cuando escribimos algo.
  2. Si el texto que escribimos comienza con + o -, seguido de una letra que sea 'qaohvmb', le damos el status correspondiente al nick. Ej: +o oso96_2000
  3. Realiza un kick al azar de entre los usuarios del canal (uno incluido).

Edit: Bleh, no me deja poner el highlight de mirc, asi que se queda con el de PHP.. igual no se ve tan mal.