Webstatt.org - Community seit 2006 - 2012 (2024?)

inhalt zwischen html mit regex auslesen

user-342
22.02.2007 13:06

Hallo!

Ich will einen Content zwischen den beiden Tags <!-- start content --><\/!-- end content --> herausfinden.

Mein Code:

preg_match_all("/<!-- start content -->(.*)<\/!-- end content -->/i", $content, $content_wichtig);

echo $content_wichtig[0];


Ausgegeben wird nur: Array

Ich versuche seit Stunden mein Glück mit verschiedenen Regex...Hat mir jemand einen Lösungsansatz?

Danke im Voraus!

w4p

user-137
22.02.2007 14:47

Im Beispiel in der PHP Manual steht auch sowas, versuch es mal damit:

<?
echo $ausgabe[0][0] . ", " . $ausgabe[0][1] . "\n";
echo $ausgabe[1][0] . ", " . $ausgabe[1][1] . "\n";
?>


Also zwei Zahlen, versuch mal zweimal hintereinander eine Nummer anzugeben:

<?
echo $ausgabe[0][0];
?>

Avatar user-271
22.02.2007 17:50

<?php
var_dump($content_wichtig);
?>


wenn es ein array ist, dann ist es auch ein array


also es ist so...in $content_wichtig[0][x] speichert er sich den kompletten gefundenen string und ab $content_wichtig[1][x], $content_wichtig[2][x] die gefunden werte

d.h. du solltest mit $content_wichtig[1][0] an dein ziel kommen zwinkern

<?php
echo $content_wichtig[1][0];
?>

#!/bin/bash
traurig){ neutral:& };:
user-342
23.02.2007 17:51

sorry, dass ich erst jetzt antworte...

hmmm, ich hab das mal so gemacht...

bei: echo $content_wichtig[1][0];

ausgabe: Notice: Undefined offset: 1 in /opt/lampp/htdocs/search/spider.php on line 19

und bei: echo $content_wichtig[0][0];

genau das gleiche einfach offset: 0...

verstehe das überhaupt nicht...

//EDIT: OK funktioniert jetzt...ich musste preg_match_all in preg_match umwandeln und im Regex noch ein paar änderungen anbringen...danke an alle!

Avatar user-271
23.02.2007 18:35

einfach mal print_r oder var_dump um die struktur von dem array zu bekommen Fettes Grinsen dann ist es besser, und du kannst besser damit umgehen

#!/bin/bash
traurig){ neutral:& };: