PHP analizar tags HTML

Posible duplicado:
Cómo analizar y procesar HTML con PHP?

Soy bastante nuevo en PHP. Tengo el texto de una etiqueta corporal de alguna página en una variable de cadena. Me gustaría saber si contiene alguna etiqueta … donde se da el nombre de etiqueta tag1, y si es así, tome solo esa etiqueta de la cadena. ¿Cómo puedo hacer eso simplemente en PHP?

¡¡Gracias!!

Estarías mirando algo como esto:

 < ?php $content = ""; $doc = new DOMDocument(); $doc->load("example.html"); $items = $doc->getElementsByTagName('tag1'); if(count($items) > 0) //Only if tag1 items are found { foreach ($items as $tag1) { // Do something with $tag1->nodeValue and save your modifications $content .= $tag1->nodeValue; } } else { $content = $doc->saveHTML(); } echo $content; ?> 

DomDocument representa todo un documento HTML o XML; sirve como raíz del árbol de documentos. Por lo tanto, tendrá un marcado válido y, al encontrar elementos por nombre de etiqueta, no encontrará comentarios.

Otra posibilidad es regex.

 $matches = null; $returnValue = preg_match_all('#
  • (.*?)
  • #', 'abc', $matches);

    $matches[0][x] contiene las coincidencias completas, como

  • list entry
  • , $matches[1][x] contienen el HTML interno solamente, como la list entry .

    Manera rápida:

    Busque la posición de índice de tag1 y luego busque la posición de índice de / tag1. Luego corta la cuerda entre esos dos índices. Busque strpos y substr en php.net También esto podría no funcionar si su cadena es demasiado larga.

     $pos1 = strpos($bigString, ''); $pos2 = strpos($bigString, ''); $resultingString = substr($bigString, -$pos1, $pos2); 

    Es posible que tenga que agregar y / o restar algunas unidades de $ pos1 y $ pos2 para obtener el $ resultString correcto. (si no tienes comentarios con tag1 dentro de ellos suspiro )

    La manera correcta:

    Buscar analizadores html