Stellen in String suchen und zurückgeben

BillaBong

Erfahrenes Mitglied
Hallo,

ich habe folgendes Problem. Ich habe einen String der ungefähr so aussieht.

PHP:
//Code 1
$string = "<div id='test1'><a href='test1'>test1</a></div><div id='wille walle was ist das'> Weiterer XBeliebiger Kontent </div><div id='test1'><a href='test2'>test2</a></div>";

das hier oben ist jetzt aber nur ein Beispielstring. Der richtige String ist unterschiedlich und es kommen noch mehr Zeichen drin vor. Primär geht es aber um die Zeichenkette die wie folgt aussieht im String zu finden und zurück zugeben.

PHP:
//Code 2
 --> <div id='testXY'><a href='testXY'>testXY</a></div>

ich habe jetzt was mit preg_match und explode versucht, aber leider ohne Erfolg. Das Problem das ich hier sehe ist das Code 2 mehrfach im String enthalten ist und ich alle diese Code 2 blöcke brauche.

Also ich bräuchte quasi eine "GEHEIME SUPER FUNKTION" die so etwas wie in Code 3 kann.

PHP:
// Code 3

$string = "<div id='test1'><a href='test1'>test1</a></div><div id='wille walle was ist das'> Weiterer XBeliebiger Kontent </div><div id='test1'><a href='test2'>test2</a></div>";

$ausgabe = geheime_super_funktion('/(.*)<div id=\"(.*)\" ><a href=\"http:\/\/(.*)\">(.*)<\/a><\/div>/', $string);

echo $ausgabe;

// Ausgabe:
// <div id='test1'><a href='test1'>test1</a></div>
// <div id='test2'><a href='test2'>test2</a></div>

gibt es sowas oder wie könnte ich das sonst noch lösen ? Danke schon mal im Vorraus. Google und SuFu habe ich schon genutzt, ein Post in einem Forum ist immer mein letzter Lösungsversuch.
 
Hallo yaslaw,

nein der regex war mit bekannt. Ich habe das jetzt wie folgt gelöst.

PHP:
$string = "<div id='test1'><a href='test1'>test1</a></div><div id='wille walle was ist das'> Weiterer XBeliebiger Kontent </div><div id='test1'><a href='test2'>test2</a></div>";  

preg_match_all("/(.*)<div id=\"(.*)\" ><a href=\"http:\/\/(.*)\">(.*)<\/a><\/div>/", $string, $gefunden);

echo htmlentities($gefunden[0][0]);

aber trotzdem DANKE
 
Zurück