Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: octavioxd en 30 Enero 2010, 09:02 am



Título: Duda con funcion
Publicado por: octavioxd en 30 Enero 2010, 09:02 am
Hola tengo que hacer una pagina que censuren malas palabras y para eso tengo que usar str_ireplace

pero donde va la variable que indica las palabras que tiene que buscar para reemplazar yo le mando un array quedaria asi

Código
  1. <?
  2. $censured = array("palabra1","palabra2");
  3. str_ireplace($censured,"censured","este es el texto a examinar");
  4. ?>
  5.  
Lo que yo quiero hacer es que en la variable $censured conecte a una base de datos y obtenga los arrays de ay pero el tema es que tipo de mysql_(funcion array) uso??

espero su respuesta


Título: Re: Duda con funcion
Publicado por: N4X en 30 Enero 2010, 12:03 pm
pues así te sirve?

Código
  1. mysql> SELECT palabra FROM censor;
  2. +---------+
  3. | palabra |
  4. +---------+
  5. | tontas  |
  6. | idiota  |
  7. | feo     |
  8. | burro   |
  9. +---------+
  10. 4 ROWS IN SET (0.00 sec)

Código
  1. <?php
  2. include_once("conect.php");
  3.  
  4. $censor = mysql_query("SELECT palabra FROM censor ", $con);
  5.  
  6. $mensaje = "Estoy escribiendo cosas tontas, idiota :D";
  7.  
  8. while ($palabra = mysql_fetch_array($censor)) {
  9. $mensaje = str_replace($palabra['palabra'], "mec",  $mensaje);
  10.  
  11. }
  12.  
  13. echo $mensaje;
  14. ?>
  15.  
  16.  
  17.  

y la salida es: Estoy escribiendo cosas mec, mec :D


Título: Re: Duda con funcion
Publicado por: KrossPock en 8 Febrero 2010, 04:47 am
str_replace esta deprecated desde php 5.3 (si mal no recuerdo) y en vez de ella se recomienda usar pre_match() preg_replace()


Título: Re: Duda con funcion
Publicado por: N4X en 8 Febrero 2010, 15:13 pm
yo diria que no kross

http://php.net/manual/en/function.str-replace.php

 :huh: :huh: :huh:


Título: Re: Duda con funcion
Publicado por: Castg! en 8 Febrero 2010, 18:13 pm
este deprecated o no, preg_match() no devuelve un valor true o false?


Título: Re: Duda con funcion
Publicado por: KrossPock en 8 Febrero 2010, 18:54 pm
este deprecated o no, preg_match() no devuelve un valor true o false?

Si, me confundi es preg_replace

yo diria que no kross

http://php.net/manual/en/function.str-replace.php

 :huh: :huh: :huh:

Tenes razon... me confundi... split esta deprecated


Ando en otro planeta  :rolleyes:


Título: Re: Duda con funcion
Publicado por: Castg! en 8 Febrero 2010, 19:04 pm
uh1 si la sacaron en php 6, que vamos a usar?  :-(


Título: Re: Duda con funcion
Publicado por: KrossPock en 8 Febrero 2010, 19:06 pm
No se... explode() o preg_match, este ultimo no solo devuelve true y false, tambien sirve para parsear el texto


Título: Re: Duda con funcion
Publicado por: N4X en 9 Febrero 2010, 12:29 pm
No se... explode() o preg_match, este ultimo no solo devuelve true y false, tambien sirve para parsear el texto

de todas formas creo que incluso se recomendaba el uso de str_replace antes que de preg_match...

piensa que consume mucho mas buscar una expresión regular que un texto exacto..

aunque se podria usar explode() como bien apuntas