Jeanette Rennkamp: Problem mit Array und preg_match_all (Array in Var umwandeln?)

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

  1. 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

    1. 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

      1. 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