Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/01/2010, 14:19
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Encontrar etiquetas html, class y id's (con expresiones regulares)

Podrias hacerlo algo así.
Código PHP:
Ver original
  1. <?php
  2. /* SACAR TODAS LAS ETIQUETAS, ID Y CLASES DEL ESTILO CSS */
  3. $html='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es">
  5. <head>
  6.    <title>Área restringida | Panel de Administración</title>
  7.    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  8.    <meta name="robots" content="noindex,nofollow"/>
  9.    <link rel="stylesheet" href="/css/entrada_login.css" type="text/css" media="all" />
  10.    <!-- Favicon -->
  11.    <link rel="shortcut icon" href="/imagenes/favicon.ico"/>
  12. </head>
  13. <body class="login">
  14.    <p id="borde-top"><a class="enlace_top" href="entrada_login.php" title="Panel de Administración">ATENCIÓN: Área privada.</a></p>
  15.    <!-- Formulario Entrada -->
  16.    <div id="login">
  17.        <h1 id="titulo" title="Panel de Administración"></h1>
  18.  
  19.        <form id="loginform" action="includes/login.php" method="post">
  20.            <p>
  21.                <label>Nombre de usuario<br />
  22.                <input type="text" name="user" id="user_login" class="input" value="" size="20" tabindex="1" accesskey="1"/></label>
  23.            </p>
  24.            <p>
  25.                <label>Contraseña<br />
  26.                <input type="password" name="password" id="user_pass" class="input" value="" size="20" tabindex="2" accesskey="2" /></label>
  27.            </p>
  28.            <p class="forgetmenot"><label><input name="rememberme" type="checkbox" id="rememberme" value="forever" tabindex="90" /> Recordarme</label></p>
  29.            <p class="submit">
  30.                <input type="submit" name="wp-submit" id="wp-submit" value="Iniciar Sesión" tabindex="100" />
  31.            </p>
  32.        </form>
  33.        <p id="nav">
  34.            <a class="footer" href="#">Área privada.</a>
  35.        </p>
  36.    </div>
  37.    </body>
  38. </html>
  39. ';
  40. preg_match_all('/<(a|p|form|h1|label|body)[^>](?:(class|id)="(.*?)")[^>]*>/is',$html,$matches);
  41. print_r($matches);
Para verlo mejor te sugiero que mires el código fuente. Pequeña explicación de algunas partes del código de expresion regular
() = cada parentesis muestra un array adicional
(?: = no se muestre un array adicional de los parentesis
[^>]* = Todo aquello que este antes y que no sea el simbolo de >
| = significa escoger entre esas opciones. Es como decir escoge entre esto o este
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos