Programación

Foro WordPress » WordPress » Programación

Filtrar algunos dominios de un Query. (9 mensajes)

Acerca de este hilo

Tags

Etiquetas:

  1. José Conti

    5.0
    Antiguedad: Sep 2009
    Mensajes: 1.020

    offline

    Publicado hace 1 año
    #

    Tengo un problema con un query.

    Al realizar este query me devuelve los dominios spam de la base de datos:

    $query = "SELECT user_email
    FROM wp_users
    WHERE spam LIKE '1'
    GROUP BY SUBSTRING_INDEX(user_email,'@',-1) ORDER BY SUBSTRING_INDEX(user_email,'@',-1)"
    ;

    $result = mysql_query($query) or die(mysql_error());
    $total = mysql_num_rows($result);

    while($row = mysql_fetch_array($result))
    {

    $email = $row['user_email'];
    $separar = explode('@',$email);

    echo $separar [1]. " ";
    }

    El problema que tengo es que me devuelve todos los dominios y quiero filtrar gmail.com, Yahoo.com y telefonica.net

    ¿Alguien sabe como se podría hacer?

    Gracias.

    Me gustaría cambiar el mundo, pero no encuentro el código fuente.
  2. Lluna

    Moderador
    Antiguedad: Jun 2009
    Mensajes: 859

    offline
    Mejor respuesta

    Publicado hace 1 año
    #

    Buenas, si lo quieres filtrar en la parte de php, es sencillo:

    if(!ereg('gmail.com|yahoo.com|telefonica.net',$row['user_email])) $email = $row['user_email];

    La expresión regular la puedes complicar todo lo que quieras para afinar el filtro

    Saludos

  3. José Conti

    5.0
    Antiguedad: Sep 2009
    Mensajes: 1.020

    offline

    Publicado hace 1 año
    #

    Muchas gracias Lluna,

    Sí, es para php. Luego lo implemento y seguro que funciona

    Llevaba horas buscando por internet.

    Muchísimas gracias de nuevo.

    Salu2

    Me gustaría cambiar el mundo, pero no encuentro el código fuente.
  4. José Conti

    5.0
    Antiguedad: Sep 2009
    Mensajes: 1.020

    offline

    Publicado hace 1 año
    #

    Hecho,

    Va de fábula

    http://buddypress-es.org/sploggers/

    Muchas gracias de nuevo

    Me gustaría cambiar el mundo, pero no encuentro el código fuente.
  5. metacortex

    5.0
    Antiguedad: Jun 2009
    Mensajes: 193

    offline

    Publicado hace 1 año
    #

    Sólo avisar que cuando montes el script en un servidor PHP actualizado te va a dar error. La función ereg() está obsoleta desde hace mucho, mucho tiempo. Reemplázala por preg_match() y serás feliz.

  6. Lluna

    Moderador
    Antiguedad: Jun 2009
    Mensajes: 859

    offline

    Publicado hace 1 año
    #

    Sólo avisar que cuando montes el script en un servidor PHP actualizado te va a dar error. La función ereg() está obsoleta desde hace mucho, mucho tiempo. Reemplázala por preg_match() y serás feliz.

    Vaya tela No tenía ni idea, hace mucho que no miro el manual en línea de PHP, ufff me va a tocar revisar muchas cosas, jejeje Gracias Metacortex por el aviso

    Saludos!

  7. José Conti

    5.0
    Antiguedad: Sep 2009
    Mensajes: 1.020

    offline

    Publicado hace 1 año
    #

    El php es 5.2.9

    Muy antiguo que digamos no es.

    Aun no he querido actualizar a la 5.3.x ya que cada vez que lo hago hay problemas con algún script y tengo que realizar un downgrade.

    Lluna, ¿Te llegó el PM que te envié?

    Salu2

    Me gustaría cambiar el mundo, pero no encuentro el código fuente.
  8. metacortex

    5.0
    Antiguedad: Jun 2009
    Mensajes: 193

    offline

    Publicado hace 1 año
    #

    José, por eso dejé el enlace a ambas funciones, incluyendo ereg():

    http://php.net/manual/es/function.ereg.php

    Ahí se lee:

    "Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado".

    En realidad la función es obsoleta desde PHP 5.0. Sólo que se mantenía un legacy hasta la 5.2.X, lo cual ya no vale en la 5.3.X.

    Con preg_replace() logras exactamente lo mismo sin los grandes inconvenientes que presentaba ereg(), con la diferencia de que debes usar delimitadores.

    Aun no he querido actualizar a la 5.3.x ya que cada vez que lo hago hay problemas con algún script y tengo que realizar un downgrade.

    Disculpa la observación, pero la única razón posible por la cual debas hacer tal cosa es que programes con código de PHP 3.0 puro y duro; de otra forma no entiendo cómo se puede proceder con tamaña acción. En realidad los errores tipo 'deprecated' son muy contados. Sólo hay que adaptarse un poquito a los recursos actuales.

  9. José Conti

    5.0
    Antiguedad: Sep 2009
    Mensajes: 1.020

    offline

    Publicado hace 1 año
    #

    Gracias por la info.

    Pero por ejemplo, OpenX en su última versión, no rula sobre php 5.3.3, saltan errores 500 en varias partes. Quizás con 5.3.2 funcione, no lo sé, pero preferí hacer el downgrade a 5.2.9 que todo suele funcionar sin problemas.

    En cualquier caso, se agradece toda la info ya que si realizo un upgrade de php ya se donde arreglar el problema que me surgirá.

    Saludos

    Me gustaría cambiar el mundo, pero no encuentro el código fuente.

Responder

Debes Identificarte para publicar.

Foro WordPress » WordPress » Programación