Problem mit Array und preg_match_all (Array in Var umwandeln?)
Jeanette Rennkamp
- php
Hi,
ich habe ein kleines Problem, und zwar möchte ich folgendes machen:
es existiert folgendes: $content[1]
wenn ich allerdings folgendes mache:
$arr = array();
preg_match_all("/go"([^ "\n]+?)"hi/", $content[1], $arr);
ist $arr leer.
wenn $content[1] <- kein array ist dann funktioniert es.
Was muss ich ändern, damit preg_match_all das array durcharbeitet?
oder wie kann ich $content[1] in eine einfach Variable umwandeln?
herzl Dank
Gruß Jeanette Rennkamp
Halihallo Jeanette
wenn $content[1] <- kein array ist dann funktioniert es.
Was muss ich ändern, damit preg_match_all das array durcharbeitet?
In http://www.php.net/preg_match_all steht doch ganz klar,
dass als zweites Argument ein *String* zu stehen hat. Falls
$content[1] ein Array ist, geht das eben nicht, wie du festgestellt
hast. Du musst $content[1] also in einen String umwandeln. Um dir
jedoch bei der Transformation behilflich zu sein, muss man erst
einmal wissen, was du tun willst. Falls ein
einfaches "Zusammenhängen" der einzelnen Arrayelemente tut, verwende
implode (s. unten).
oder wie kann ich $content[1] in eine einfach Variable umwandeln?
http://www.php.net/implode vielleicht?
Viele Grüsse
Philipp
Hallohallo Philipp :)
ein riesen Dankschön für Deine Antwort, implode ist glaube ich beinahe schond der entscheidene Tipp!
$content[1] ist eigentlich schon die Auswahl aus dem Array $content[]
ich möchte eigentlich nur diesen einzelnen Teil als String haben!? - wie mache ich das $str = implode("", $content[1]); - klappt leider nicht...
herzl. Dank
Jeanette
Halihallo Jeanette
$content[1] ist eigentlich schon die Auswahl aus dem Array $content[]
Wichtig zu wissen ist einzig und allein, ob $content[1] ein String
ist, oder nicht. Falls ja, kannst du es preg_match_all übergeben.
Falls nicht, musst du einen String daraus "basteln". Bei Arrays
bietet sich hier, wie schon erwähnt "implode" in den meisten Fällen
an.
Gib $content[1] mal per
http://ch2.php.net/manual/de/function.print-r.php aus und
sieh nach, ob es sich um einen String handelt.
ich möchte eigentlich nur diesen einzelnen Teil als String haben!? - wie mache ich das $str = implode("", $content[1]); - klappt leider nicht...
Klappt nicht, klappt nicht. Fehlermeldung bitte, sonst kann man nicht
helfen.
Viele Grüsse
Philipp