Autor | Zpráva | ||
---|---|---|---|
qwertzy Profil |
#1 · Zasláno: 19. 11. 2011, 15:01:42 · Upravil/a: qwertzy
Napadla mě funkce, jen nevím jestli je možné něco takového udělat.
1. Zavolám funkci mojefunkce() s níže uvedenými parametry, mojefunkce() by měla mít podobnou funkci jako vsprintf, jen s mými vlastními modifikátory, které budou dále upravovat text: $pole = array("jmeno" => "Pavel", "vek" => 35); příklad A: mojefunkce(Údaje: %jmenoavek, $pole); //vsprintf(Údaje: Jméné: %s Věk: %s, $pole["jmeno"], $pole["vek"]); příklad B: mojefunkce(Údaje: %informace, $pole); //vsprintf(Údaje: Uživateli %s je %s let, $pole["jmeno"], $pole["vek"]); 2. Jde mi o tom, že bych mohl pouhou záměnou modifikátoru upravovat výstup funkce: příklad A vrátí: Údaje: Jméno: Pavel, Věk: 35 příklad B vrátí: Údaje: Uživateli Pavel je 35 let Když to shrnu: jde mi o to vytvořit funkci podobnou vsprintf, jen budu moci použít vlastní modifikátory, které podle zadaného modifikátoru upravý vstup do předem určeného výstupu. Předem se omlouvám popis, lépe už to napsat nedokážu. |
||
Kcko Profil |
#2 · Zasláno: 19. 11. 2011, 15:56:01
|
||
qwertzy Profil |
#3 · Zasláno: 19. 11. 2011, 19:11:36
Děkuji, ale koukám že to je asi opravdu nad mé síly. Navíc když jsem si uvědomil, že by se hodilo i použití normálních modifikátorů (%s, %i). Pokud se někdo na internetu setkal s něčím podobným, nebo co by mi mohlo pomoci, tak prosím, jestli by zde nezanechal odkaz.
|
||
okolojdouci Profil * |
#4 · Zasláno: 19. 11. 2011, 21:39:28
Možná mi uniká podstata, ale proč ne takto jednoduše?
if ($varianta=="brod") { $sablona="Údaje: Uživateli %jm je %vek let"; } .. if ($varianta=="jina") { $sablona="Jméno: %jm, Věk: %vek let"; } $out = $sablona; $out = str_replace("%jm", $pole[0], $out); $out = str_replace("%vek", $pole[1], $out); .. return $out; |
||
Časová prodleva: 12 let
|
0