Autor | Zpráva | ||
---|---|---|---|
L0K00 Profil |
Dobrý den, potřeboval bych pomoci s tím jak se dá vyřešit následující problém.
Chci to, aby se mi všechny bb kódy převedli naráz na html tagy. Mám tento kód: $t = 'Ahoj [c]ab[c]cdd[/c]ee[/c]' $najit = array('/\[c\](.*?)\[\/c\]/siU', '/\[i\](.*?)\[\/i\]/siU'); $dodat = array('<c>\\1</c>', '<i>\\1</i>'); echo preg_replace($najit, $dodat, $t); A výsledek je: 'Ahoj <c>ab[c]cdd[/c]ee</c>' Jak by jste řešili to aby se přeměnili všechny bb kódy. Např. tím, že bych si spočítal kolik se nachází začátečnických tagů a potom bych to tolikrát opakoval. Nebo se nějak dá ta nenažranost oblbnout v tento prospěch? Děkuji předem za odpovědi, přeji pěkný den.. :) |
||
Tori Profil |
L0K00:
Negujete nenažranost dvakrát ( .*? i modifikátor U ), takže výsledkem je zase nenažranost. :-) Nechte jen jedno z toho.
|
||
L0K00 Profil |
#3 · Zasláno: 30. 3. 2013, 21:05:07
Ano to vím, ale když to dám pryč tak se promění nejbližší uzavření a bude to vypadat takhle:
Ahoj <c>ab[c]cdd</c>ee[/c] Jak docílit aby bylo: Ahoj <c>ab<c>cdd</c>ee</c> |
||
Tori Profil |
#4 · Zasláno: 30. 3. 2013, 21:21:13
Aha jasně. Mně dobře poradili tady, možná se vám to taky hodí: Převod vnořených bbCode značek do HTML
|
||
L0K00 Profil |
#5 · Zasláno: 31. 3. 2013, 15:12:13
Vůbec netuším jinak než spočítat vždy ukončovací tagy a potom to tolikrát provést. Co myslíte?
|
||
Časová prodleva: 11 let
|
0