Hledání v řetězci

Nemůžu přijít na jednu věc.

Dejme tomu, že mám řetězec:

bleblbbelblbleblb [sign|1|sign] bleblebleblbelblbelb [sign|2|sign] , atd...

a teď bych ten řetězec potřeboval reozdělit na části, abych měl něco takovýho:

$pole[0] = bleblbbelblbleblb;
$pole[1] = [sign|1|sign];
$pole[2] = bleblebleblbelblbelb;
$pole[3] = [sign|2|sign];

prostě něco jako explode, akorát se zástupnym znakem.

Kdo poradí?
$pole = explode(" ", $retezec);
bud tohle nebo nevim, jak to myslis...
Tak přesně takhle to nemyslim, to bleblebl nemůžeš brát doslova, ta můžou být i mezery.
A co třeba takhle?

$retezec = str_replace("[sign|1|sign]" , "*", $retezec);
$retezec = str_replace("[sign|2|sign]" , "*", $retezec);

$pole = explode("*", $retezec);

No jo, teď mě ale napadá, že $pole[1] nebude [sign|1|sign]; , ale hvezdička "*" a to ty asi nechceš.

Petr
Co jsem to ale napsal za hovadinu, že $pole[1] bude *.

Tak to sorry
Že se do toho ještě do třetice motám ...

>> bleblbbelblbleblb [sign|1|sign] bleblebleblbelblbelb [sign|2|sign]

Nevím jak přicházíš k tomu řetězci, ale co místo těch mezer před [sign|1|sign] a za ním, to nahradit nějak právě třeba tou hvězdičkou?
A co takhle naučit se používat REGULÁRNÍ VÝRAZY?
Teď sem dělal něco podobnýho:
převáděl jsem string: "něco1,něco2,něco3,něco4" na pole
[1]=něco1
[2]=něco2
[3]=něco3
[4]=něco4

prostě vezmeš první písmenko ze stringu a uložíš jako první písmenko do nové proměnné (třeba $1)
dál vezmeš druhé písmenko a pokud se nerovná tomu čím chceš aby začínal další výraz (u mně je to čárka ",") uložíš ho jako druhé písmenko do $1,

a tak dál....


tušim že sem to dělal takhle
$var=1;
$string = "něco1,něco2,něco3,něco4";

for ($i=0; $string{$i}!=false; $i++) // kudrnaty zavorky urcujou misto ve stringu

if ($string{$i} != ",") // carka jako separator
{
$$var{$i}= $string{$i}
}

elseif ($string{$i} == ",") //preskoci carku a zmeni jmeno promene
{
$var++
}
}

mel bys z toho dostat:
$1=něco1
$2=něco2
$3=něco3
$4=něco4


Já s PHP začínám - tak tam možná budou nějaký chyby a vůbec to asi je blbej nápad to takhle dělat (asi si budu muset prostudovat to explode) ale mně to funguje jak má.. takže jako první pokus mi to docela vyšlo :o)
2 Karlos:
pokiaľ tam máš tie "," tak v php je funkcia explode:

array explode ( string separator, string string [, int limit])

kde string "něco1,něco2,něco3,něco4" rozdelí na pole pomocou stringseparator ","
môžeš nastaviť aj počet prvkov v poli cez limit - je nepovinný (posledný prvok bude obsahovať zvyšok stringu)

tvoj prípad $pole = explode(",", "něco1,něco2,něco3,něco4")

mal by si z toho dostať:
$pole[0]=něco1
$pole[1]=něco2
$pole[2]=něco3
$pole[3]=něco4

viď manuál (niekde na www.php.net )