Autor Zpráva
vojtan
Profil
Prosím o pomoc, mám řetězec, kde je uveden seznam postav a příslušných herců a potřeboval bych vytvořit dvě pole, kde v jednom budou vypsány jména postav a v druhém jména herců. V řetězci jsou dva oddělovače, to co je před dvojtečkou bych potřeboval vypsat do jednoho pole, a to co následuje po dvojtečce až po středník do pole druhého.

Řetězec vypadá takto:
Thomas Rogers: Tomáš Dianiška; Ethel Rogersová: Markéta Coufalová; Věra Alžběta Claythornová: Karolína Baranová; Filip Lombard: Tomáš Impseil; Anthony James Marston: Jakub Albrecht; William Henry Blore: Martin Stránský; Generál John Gordon Mackenzie: Ladislav Dušek; Emilie Carolina Brentová: Štěpánka Prýmková; Sir Lawrence John Wargrave: Václav Helšus; Dr. Edward George Armsgrong: Vít Musil

Asi to není nic složitého, jenže já fakt netuším jak na to, znám funkci explode, ale tu umím použít jen s jedním oddělovačem.

Děkuji za pomoc
Someone
Profil
$retezec = "..." // řetězec
$p1 = explode(";",$retezec);
$postavy = array();
$herci = array();
foreach($p1 as $herecPostava) {
    $p2 = explode(":",$herecPostava);
    $postavy[] = $p2[0];
    $hreci[] = $p2[1];
}
vojtan
Profil
Díky moc za pomoc, funguje to
1Pupik1989
Profil
Nebo:

<?php
$retezec = "Thomas Rogers: Tomáš Dianiška; Ethel Rogersová: Markéta Coufalová; Věra Alžběta Claythornová: Karolína Baranová; Filip Lombard: Tomáš Impseil; Anthony James Marston: Jakub Albrecht; William Henry Blore: Martin Stránský; Generál John Gordon Mackenzie: Ladislav Dušek; Emilie Carolina Brentová: Štěpánka Prýmková; Sir Lawrence John Wargrave: Václav Helšus; Dr. Edward George Armsgrong: Vít Musil";

preg_match_all("/([ \wěščřžýáíéúůňťĚŠČŘŽÝÁÍÉÚŮĎŤŇ\.]+)\:([ \wěščřžýáíéúůňťĚŠČŘŽÝÁÍÉÚŮĎŤŇ\.]+)/is",$retezec,$vystup);
$postava = $vystup[1];
$herec = $vystup[2];
?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: