PHP String zerlegen

Hallo zusammen,

ich brauche bitte nochmals Hilfe von den PHP Profis .

Ich habe einen String welcher in der Länger variert und wo ich einen bestimmten Bereich als Text brauche :

[3] => ","id":1829,"label":"James Bond ","plot":"Beschreibung ........","thumbnail":"image:

Ich brauche den Text ab „Beschreibung“ bis zum Ausführungszeichen. Mit

$info=( explode(':',$string))

komme ich schon nahe ran, aber wie schneide ich dann hinten den Teil ab ,"thumbnail ab ?

Ich hoffe das war nicht zu kompliziert ausgedrückt. Wie gesagt die Länge des Textes variiert,s.d. ich keinen festen Bereich
ausschneiden kann.

Bestimmt hat jemand eine Idee.

Gruss Thomas

Hi Thomas!

Sieht für mich eher aus wie ein Array und da würde man leichter dran kommen. Aber da ich grad nicht testen kann, erstmal eine Variante mit preg_match :slight_smile: Und du könntest aber nochmal mehr Infos rausrücken, wo die Daten herkommen, ob es nicht doch ein Array ist, …

Du müsstest eher ein explode mit „,“ machen um ein passendes Array zu erhalten. Zusammen mit „split“. Aber kann wie gesagt leider grad nicht testen. Dann hättest du z.B. einen „key“ mit Namen „plot“ und davon der Wert wäre dann deine Beschreibung.
Edit: So in der Art wie hier:
http://www.php.de/forum/webentwicklung/php-einsteiger/php-tipps-2010/73436-erledigt-mehrdimensionale-arrays-mit-explode
PHP - Exploding each item in an array created by explode - Stack Overflow

Alternative Version mit preg_match:

preg_match('|.*plot":"(.*)",|', $StringInVariable, $Ausgabe);
print_r($Ausgabe);

…in $Ausgabe[1] sollte dann dein Plot stehen und du kannst den weiterverarbeiten…

Grüße,
Chris

Hallo Chris,

korrekt es ist ein Array. Das ist eine Datei die ich vorher per explode schon in ein erstes Array gewandelt habe.
Die Daten kommen per JSON RPC von Kodi / XMBC. Der gesuchte String steht faktisch in Zelle [3] vom Array, aber in der Form, wie ich es geschrieben hab. Der Text ist nur zu lang, daher hab ich das gekürzt.

Thomas

Du machst also erst ein „json_decode“?

Dann kannst du aber doch direkt auf $data->plot zugreifen…?!

Du solltest ein wenig mehr posten :slight_smile:

Grüße,
Chris

Dankeee !! hab ich Depp natürlich nicht gemacht .
Schön wenn es so einfach geht …

Mit dem json_decode spar ich mir alles und da stehen alle Daten perfekt in einem array !

Wie immer ein dickes Danke !

Thomas

Kein Problem, es funktioniert, also alles gut :slight_smile:

Deswegen sag ich immer allen > möglichst viel an Infos posten und möglichst auch das Skript was Probleme bereit :wink: :stuck_out_tongue:

Grüße,
Chris