Autor | Zpráva | ||
---|---|---|---|
Anon Profil * |
#1 · Zasláno: 21. 12. 2014, 17:57:23
Zdravím,
rád bych si napsal skript, který by při vzal obsah souboru a moje značky (třeba [text]) nahradil HTML ([text] na <p>). Problém je, že nevím, jak udělat podmínku pro foreach(), nahrazení mých značek jejich HTML ekvivalenty skrze str_replace() bych už zvládl. Můžu se zeptat, jak v tomhle konkrétním případě udělat podmínku? Děkuji za všechny rady |
||
Kubo2 Profil |
Čo za podmienku chceš písať pre
foreach ? foreach() sa používa pre iteráciu jednotlivých prvkov poľa, ak chceš napísať podmienku, použi if() alebo switch() , prípadne, ak potrebuješ podmienku v kontexte výrazu, použi podmienka ? platí : neplatí (tzv. ternárny operátor či podmienený výraz).
|
||
Tori Profil |
#3 · Zasláno: 22. 12. 2014, 07:39:36
Anon:
foreach je použitelné jen na činnost typu "projdi všechny prvky pole". Vy ale požadujete "projdi všechny podřetězce, které obsahují moje značky", musíte teda ty podřetězce nejdřív nějak najít, nejspíš regulárním výrazem. Použila bych preg_replace_callback. |
||
Alphard Profil |
#4 · Zasláno: 22. 12. 2014, 12:43:20
Anon [#1]:
Formát, který jste si vybral, se shoduje s BB kódy (jako zde na diskusi) a pro něj existuje několik hotových řešení. Jako nejjednodušší jsem v rychlosti našel Create Simple PHP BBCode Parser function. Jako základ dobré, zajistí správně párové tagy, ale už neřeší další věci jako křížení tagů (s tím se ale nějak poperou prohlížeče) a bezpečnost. Jak je uvedeno i v diskusi pod článkem, nepoužívejte bez ošetření varianty pracují s html atributy a nezapomeňte před převodem escpovat případné přímo zadané html prvky od uživatele. |
||
Časová prodleva: 9 let
|
0