Autor | Zpráva | ||
---|---|---|---|
capricorn76 Profil * |
#1 · Zasláno: 5. 9. 2013, 19:53:47
Dobrý den,
mám např. řetezec [t] znak [/t] [t]znak [t]znak [t]znak [/t] a potřebuji, aby každý znak měl uzavřený tag. |
||
Alphard Profil |
#2 · Zasláno: 5. 9. 2013, 20:55:14
capricorn76:
Můžete uvést, jak má vypadat ukázka uvedená v [#1] na výstupu? |
||
capricorn76 Profil * |
#3 · Zasláno: 6. 9. 2013, 07:40:06
[t]znak[/t][t]znak[/t][t]znak[/t][t]znak[/t] |
||
Micruss Profil |
#4 · Zasláno: 6. 9. 2013, 14:27:51
zdravim a co pomocí str_Replace odstranit ty mezery?
$string = " [t] znak [/t] [t]znak [t]znak [t]znak [/t]"; $string = str_replace(' ', '', $string); echo $string; |
||
Someone Profil |
#5 · Zasláno: 6. 9. 2013, 14:53:40
Micruss:
Odstranění mezer je od věci, capricorn76 se snaží docílit automatického uzavírání značek. |
||
peta Profil |
#6 · Zasláno: 6. 9. 2013, 15:22:51
Obavam se, ze na to lze pouzit jedine parser. Regularnim vyrazem by to slo asi obtizne, treba zdvojene "[bold]...[bold]...[/bold][/bold]". Pripadne pouzit cyklicky regularni vyraz pro pocet vsech otevrenych tagu.
Mozna pomoci preg-replace-callback? http://cz2.php.net/manual/en/function.preg-replace-callback.php . Mozna domparser? http://www.php.net/manual/en/domdocument.loadhtml.php |
||
Tori Profil |
Pokud by nevadilo, že tam můžou zůstat uzavírací značky navíc (pokud bude "[t]znak[/t] [/t]"), tak by šlo toto:
$str = 'asd [t] znak [/t]asd [/t] [/t] [t]znak [t]znak [t]znak [/t] [/t] asd'; $tmp = explode('[t]', $str); $str = array_shift($tmp); foreach ($tmp as $i => $part) { $closing = explode('[/t]', preg_replace('~\s{2,}~', '', $part), 2); $str .= '[t]'.$closing[0].'[/t]'; if (isset($closing[1])) { $str .= str_replace('[/t]', '', $closing[1]); } } var_dump($str); |
||
peta Profil |
#8 · Zasláno: 6. 9. 2013, 15:49:25
Jenze ty uvazujes jednoducohu kombinaci. A co kdyz budu mit [bold]+[italic]+text?
|
||
han5vk Profil |
peta:
Neviem ako ty, ale ja nevidím, žeby capricorn76 niekde uviedol že mu ide o [bold],[italic] či niečo iné. Spomínal len [t] a [/t], takže nemôžeme vedieť, či potrebuje komplexnejšie riešenie ako to od Tori. |
||
Tori Profil |
#10 · Zasláno: 6. 9. 2013, 18:28:43
Jasně že to není žádné úžasné řešení, jen jsem tím chtěla říct, že jednoduché zadání lze řešit i jednodušším způsobem (než parserem).
Btw na křížení tagů mi Alphard kdysi dobře poradil Texy! http://texy.info/cs/try/jgkpq Vlastní párové značky se tam dají přidat celkem snadno. |
||
Časová prodleva: 11 let
|
0