Autor Zpráva
Michalll
Profil *
Ahoj, potřebuji pomoc s poslední věcí v gbooku:
povolil jsem tam některé [tagy] a potřeboval bych nějaký skript, který by projel celou proměnnou $zaznam jestli každý [tag] má k sobě [/tag], a kdyby ne tak, aby ho ukončil (příp. smazal nepárový tag). Vím, že by se to mělo řešit přes pole a pomocí nějakého cyklu. Převyšuje to, ale můj programátorský um.

Nerad bych byl, kdyby se mi kvůli tomu rozsypal design.
Alphard
Profil
jestli každý [tag] má k sobě [/tag], a kdyby ne tak, aby ho ukončil (příp. smazal nepárový tag)
1. pokud ukončovací chybí, kam ho chceš přidat?
2. IMHO by bylo lepší odmazat ten první, ujasni si požadavky :-)
3. co křížení tagů? chceš to nějak kontrolovat a opravovat?
Joker
Profil
Šlo by to třeba rekurzí:

Funkce třeba zpracuj():
- Překládám si text do výstupu.
- Pokud narazím na tag:
-- vyhledám nejbližší /tag; pokud nenajdu, nějak se zachovám [*]
-- zavolám zpracuj() pro to, co je uvnitř tagu.
-- do výstupu dám výsledek funkce, obalený příslušným tagem

[*] nejspíš jedna z variant: tag dám do výstupu nepřeložený, vymažu anebo doplním ukončovací značku na konec.
Michalll
Profil *
jestli každý [tag] má k sobě [/tag], a kdyby ne tak, aby ho ukončil (příp. smazal nepárový tag)



No to jsou dva způsoby - vysvětlím na příkladu:
$zaznam ="nějaký text"
1.)buď může skript doplnit na konec

2.)nebo to smazat
jinak by bylo vše dole pod tím tučné, protože další skript převádí [b] a
na <b> a </b>.


Funkce třeba zpracuj()

nějak tak by to mohlo fungovat (*2 nebo *3).
Bubák
Profil
Chyba, napsal jsem tu odpověď na jiný dotaz, omlouvám se.
Michalll
Profil *
Nedokázal by někdo udělat jednoduchý pochopitelný sample kódu třeba jen s 2 tagy pls?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: