Teilstring suchen, bei dem nur Anfang und Ende bekannt ist

Ich hab schon im Forum gesucht, aber nichts passendes gefunden...

Also ich habe UBB-Codes selber gemacht, die in meinem Forum verwendet werden sollen. Ich habe Kartenbilder auf meinem Webspace gespeichert, aber um es den Usern zu erleichtern soll der User trotzdem den Namen anders eingeben können. Damit das Script die Bilder trotzdem findet, soll das Script aus dem kompletten Text [card]Eingegebener Name[/card] herausfiltern um dann dort den Text zu verändern. Das Problem ist eben, dass der eingegebene Text jedes Mal etwas anderes sein kann und ich somit keinen festen Suchstring außer dem anfang [card] und dem ende [/card] habe. Ist es durch eine Funktion möglich, so einen Teilstring zu finden und wenn ja, wie?

Danke schonmal im Vorraus,
MagicMasterII
 
Dummerweise funktioniert das so nur, wenn nur solcher String im zu kontollierenden Text ist, sind 2 oder mehr solcher Teilstrings vorhanden wird leider trotzdem nur der erste ausgegeben...

MagicMasterII
 
Die Grundlagen von Arrays kenne ich schon...
In dem Beispiel auf der verlinkten Seite wird ja bei echo $arr['foo'] "bar" ausgegeben, was muss ich in die klammer setzen um an den Teilstring zu kommen? Das wollte ich wissen...

MagicMasterII
 
print_r($matches[1]) gibt Dir doch die Struktur des Arrays aus. Also müsstest Du ja (mit Deinem bereits vorhandenen Grundlagenwissen) auf das Array problemlos zugreifen können. Ausserdem sollte ein Blick in die Funktionsreferenz zur verwendeten Funktion [phpf]preg_match_all[/phpf] auch weiterhelfen.

Aber ich will Dich nicht länger quälen:
Code:
<?php
  $str = 'bla text [card]Eingegebener Name[/card] bla text [card]Eingegebener Name2[/card] bla text';
  preg_match_all("!\[card\](.*?)\[/card\]!ims", $str, $matches);
  echo $matches[1][0]; // erste gefundene Zeichenkette
  echo"<br>";
  echo $matches[1][1]; // zweite gefundene Zeichenkette
?>

snuu
 
Zurück