Hledání v řetězci

9 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. 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í?
  2. $pole = explode(" ", $retezec); bud tohle nebo nevim, jak to myslis...
  3. Tak přesně takhle to nemyslim, to bleblebl nemůžeš brát doslova, ta můžou být i mezery.
  4. 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
  5. Co jsem to ale napsal za hovadinu, že $pole[1] bude *. Tak to sorry
  6. Ž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?
  7. A co takhle naučit se používat REGULÁRNÍ VÝRAZY?
  8. 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)
  9. 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 )

← Zpět na všechna témata