| 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: 13 let
|
|||
0