Autor Zpráva
gladiator
Profil *
$text = "asdasd asd asduyadsui yasduy asd <strong>xxx";

Pokud se objevi takovyto text potreboval bych doplnit ukonceni html tagu. Chybejici html tag muze byt </strong> nebo </em>.

Jak to udelat? :)
weroro
Profil
Pre upresnenie sa opýtam. Má sa počítať aj s takouto variantou? $text = "asdasd asd asduyadsui yasduy asd <strong>xxx<strong>yyy";
gladiator
Profil *
no asi by to bylo fajn
Alphard
Profil
Spočítejte si otevírací i uzavírací tagy a doplňte, jak je potřeba; problémem by mohlo být křížení tagů, ale na to by byl již potřeba složitější parser. Kdybyste chtěl řešit nějaké komplikovanější situace, podíval bych se po hotových nástrojích, např. HTML Purifier, Texy! apod.
Václav Kozelka
Profil
A nebo s tim celkem pekne umi pracovat Tidy
peta
Profil
Alphard: složitější parser?
B U I /B /U /I
1. B: arr[] = B
2. U: arr[] = U
3. I: arr[] = I
4. /B: hledej otevrene B
- pokud nasel, tak zavri vsechny otevrene tagy v B (cili pole prochazis v opacnem poradi, hledas B a pak opet v opacnem poradi do pozice B tagy zaviras)
- pokud nenasel, tak ignoruj, smaz /B
Podobne se pokusis zavrit vse na konci. Prekrizeni mu nevadi, tohle to odstrani.
Neprijde mi to o moc slozitejsi nez pocitani otevrenych tagu.
gladiator
Profil *
To reseni od peta nechapu jedine ukazka by pomohla. Reseni od alpharda uz mam udelane ale nejsem si jist ze to je nejrychlejsi zpusob pri delsim textu, mozna se pletu...

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: