Foros del Web » Programando para Internet » PHP »

No logro hacer esto funcionar con preg_match_all

Estas en el tema de No logro hacer esto funcionar con preg_match_all en el foro de PHP en Foros del Web. Hola, Hace tiempo que no entro a estos foros y puees vengo por un poco de ayuda. Básicamente lo que quiero lograr es obtener de ...
  #1 (permalink)  
Antiguo 20/12/2011, 01:05
 
Fecha de Ingreso: abril-2008
Mensajes: 28
Antigüedad: 16 años
Puntos: 0
No logro hacer esto funcionar con preg_match_all

Hola,

Hace tiempo que no entro a estos foros y puees vengo por un poco de ayuda.

Básicamente lo que quiero lograr es obtener de mi cPanel el uso de la variable "USAGE" total de X cuenta de correo especificada por variables en el PHP.

Este es mi código de donde obtengo la información:

Código PHP:

$fichero 
"http://".$cpanel_user.":".$cpanel_pass."@".$cpanel_ip.":".$cpanel_port."/frontend/".$cpanel_design."/mail/pops_noscript.html?itemsperpage=5000";
$f fopen($fichero"r");

//$user['email'] = el email del usuario que ingresa a esta página, dato obtenido de la base de datos de usuarios.

        
$layout '/\s\s<td class="cell truncate" truncate="80">'.$user['email'].'<\/td>\s\s(.*?)\s\s<td nowrap="nowrap" class="cell" style="text-align: center">(.*?)\ MB<\/td>./s';

        while (!
feof ($f)) {
            if (
preg_match_all($layout$line$out)) {
                  foreach(
$out as $b) {
                    echo 
$b[0]."<br>";
                }
            }
        }


fclose($f); 
Al momento de probar este código, casi mato el servidor >,> asi que cuidado tiene errores de sintaxis...

Ahora, ya saben el código... básicamente quiero eliminar la siguiente fila en del código del cPanel.

Código PHP:
        <td class="cell" width="32"><div class="disable" style="width: 30px; font-size: 6px; text-align: center; margin: 0pt auto;"><a target="_blank" href="[email protected]&amp;domain=dominio.com"><img alt="" src="/cPanel_magic_revision_1200443325/frontend/mihosting/branding/symbol-webmail.gif" height="20" width="19" align="middle" border="0"></a></div></td
del siguiente código:
Código PHP:
        <td class="cell truncate" truncate="80">usuario@dominio.com</td>
        <
td class="cell" width="32"><div class="disable" style="width: 30px; font-size: 6px; text-align: center; margin: 0pt auto;"><a target="_blank" href="[email protected]&amp;domain=dominio.com"><img alt="" src="/cPanel_magic_revision_1200443325/frontend/mihosting/branding/symbol-webmail.gif" height="20" width="19" align="middle" border="0"></a></div></td>
        <
td class="cell" style="text-align: center;" nowrap="nowrap">9.92 MB</td>
        <
td class="cell">500 MB</td
Para poder checar, la línea donde aparece [email protected] únicamente, para después obtener el 9.92 MB.


Espero que me puedan ayudar :) gracias!
  #2 (permalink)  
Antiguo 20/12/2011, 01:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No logro hacer esto funcionar con preg_match_all

Si sabes que la cadena siempre será la mismo aunque el email lo asignes ¿por qué no usar str_replace()?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/12/2011, 01:13
 
Fecha de Ingreso: abril-2008
Mensajes: 28
Antigüedad: 16 años
Puntos: 0
Respuesta: No logro hacer esto funcionar con preg_match_all

Hmmm pero str_repace seria todo un rollo, ya que la variable $f contiene tooodo el HTML de la página, no? :/ por eso lo quiero hacer por "incidencias", el pedacito que puse de código es solamente una parte (la que me interesa obtener) :P


Editado: Me parece que me comí una parte del código...


Código PHP:

$fichero 
"http://".$cpanel_user.":".$cpanel_pass."@".$cpanel_ip.":".$cpanel_port."/frontend/".$cpanel_design."/mail/pops_noscript.html?itemsperpage=5000";
$f fopen($fichero"r");

//$user['email'] = el email del usuario que ingresa a esta página, dato obtenido de la base de datos de usuarios.

        
$layout '/\s\s<td class="cell truncate" truncate="80">'.$user['email'].'<\/td>\s\s(.*?)\s\s<td nowrap="nowrap" class="cell" style="text-align: center">(.*?)\ MB<\/td>./s';

        while (!
feof ($f)) {
            
$line fgets ($f1024);
            if (
preg_match_all($layout$line$out)) {
                  foreach(
$out as $b) {
                    echo 
$b[0]."<br>";
                }
            }
        }


fclose($f); 
listo :) pero no funciona aun xD

--------------------

Edición #2:

Por el momento creo que lo haré a mi manera... sin cPanel.

Algo como esto:

Código PHP:
$ar=getDirectorySize("/home2/usuario/mail/".$user['domain']."/".$cuenta."/cur/");
$br=getDirectorySize("/home2/usuario/mail/".$user['domain']."/".$cuenta."/.Drafts/cur/");
$cr=getDirectorySize("/home2/usuario/mail/".$user['domain']."/".$cuenta."/.Junk/cur/");
$dr=getDirectorySize("/home2/usuario/mail/".$user['domain']."/".$cuenta."/.Sent/cur/");
$er=getDirectorySize("/home2/usuario/mail/".$user['domain']."/".$cuenta."/.Trash/cur/");
$fr=getDirectorySize("/home2/usuario/mail/".$user['domain']."/".$cuenta."/.spam/cur/");
$gr=getDirectorySize("/home2/usuario/mail/".$user['domain']."/".$cuenta."/.Trash.Junk/cur/");
$hr=getDirectorySize("/home2/usuario/mail/".$user['domain']."/".$cuenta."/.Trash.Spam/cur/");

$total $ar['size']+$br['size']+$cr['size']+$dr['size']+0+$fr['size']+$gr['size']+$hr['size'];

echo 
sizeFormat($total); 

Última edición por Hitsu; 20/12/2011 a las 02:09

Etiquetas: funcionar, html, variables, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:44.