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
<?
$censured = array("palabra1","palabra2");
str_ireplace($censured,"censured","este es el texto a examinar");
?>
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
pues así te sirve?
mysql> SELECT palabra FROM censor;
+---------+
| palabra |
+---------+
| tontas |
| idiota |
| feo |
| burro |
+---------+
4 rows in set (0.00 sec)
<?php
include_once("conect.php");
$censor = mysql_query("SELECT palabra FROM censor ", $con);
$mensaje = "Estoy escribiendo cosas tontas, idiota :D";
while ($palabra = mysql_fetch_array($censor)) {
$mensaje = str_replace($palabra['palabra'], "mec", $mensaje);
}
echo $mensaje;
?>
y la salida es: Estoy escribiendo cosas mec, mec :D
str_replace esta deprecated desde php 5.3 (si mal no recuerdo) y en vez de ella se recomienda usar pre_match() preg_replace()
yo diria que no kross
http://php.net/manual/en/function.str-replace.php
:huh: :huh: :huh:
este deprecated o no, preg_match() no devuelve un valor true o false?
Cita de: Castg! en 8 Febrero 2010, 18:13 PM
este deprecated o no, preg_match() no devuelve un valor true o false?
Si, me confundi es preg_replace
Cita de: 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:
Tenes razon... me confundi... split esta deprecated
Ando en otro planeta :rolleyes:
uh1 si la sacaron en php 6, que vamos a usar? :-(
No se... explode() o preg_match, este ultimo no solo devuelve true y false, tambien sirve para parsear el texto
Cita de: 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
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