Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]bbcode
Forum PHP.pl > Forum > Przedszkole
tog
witam,

jak moge wykonac cos takiego, ze w momencie zamkniecia tagu sa zamykane wszystkie otwarte tagi ?

tzn

funkcja
  1.  
  2. function bbcode($code)
  3. {
  4. $code = str_replace('', '<span style="text-decoration: underline;">', $code);
  5. $code = str_replace('', '</span>', $code);
  6. $code = str_replace('', '<span style="text-decoration: line-through">', $code);
  7. $code = str_replace('', '</span>', $code);
  8.  
  9. return($code);
  10. }
  11.  


funkcja sypie sie przy zapisie
[ s]fgdfgsg[ u]sgfgsfgsg[/ s]sgdfgsgsfgs[/ u]

wywala
  1. <span style="text-decoration: line-through">fgdfgsg<span style="text-decoration: underline;">sgfgsfgsg</span>sgdfgsgsfgs</span>


a jak moge zrobic aby wywalila
  1. <span style="text-decoration: line-through">fgdfgsg<span style="text-decoration: underline">sgfgsfgsg</span></span><span style="text-decoration: underline">sgdfgsgsfgs</span>


btw. popsulem forum programistyczne biggrin.gif
Crozin
Tego nie robi się w ten sposób (na zasadzie str_replace). W dziale "Gotowe rozwiązania" są przykładowe parsery BBCode, w sieci też znajdziesz niejeden - zobacz jak one działają... a działają w oparciu o wyrażenia regularne, z których musisz skorzystać.
wookieb
Cytat(Crozin @ 3.01.2010, 23:35:09 ) *
a działają w oparciu o wyrażenia regularne, z których musisz skorzystać.

Upewnij się.
I za bardzo nie wiem jak za pomocą wyrażenia regularnego chcesz DOBRZE zamykać otwarte tagi.
tog
szukalem jakieogos parsera ktory moglbym podejrzec lub w wiekszym badz mniejszym stopniu zerznac
ale w sumie to nie znalazlem nic ciekawego, albo nie spelniaja standardow w3c, a konretnie to opieraja sie na <i><u> tyle to sobie sam napisalem, brakuje mi tylko zamykania tagow, choc samo zamykanie umiem sobie zrobic, ale nie umiem rozwiazac problemu z tagami div lub span, czyli to o czym pisalem w pierwszym poscie, czasem wyswietla sie niepozadany efekt w trudniejszej sklasni bbcode
inne parsery to cale aplikacje, skladajace sie z wielu folderow i wielu niepotrzebnych plikow, jakies ustawienia parsera owszem, dobrze byloby dac to do panelu admina, ale po co mi dodatkowy panel admina ?
albo parser jest beznadziejny, albo z kilku funkcji robi mi sie kilka folderow pelnych plikow, w ktorych ostatecznie i tak nic nie mozna znalezc

PS: w moim poprzenim temacie edytowalem posta, ale jest juz zolty
moze ktos zechce odpowiedziec
Temat: inneprzyjazne urle
wookieb
A sprawdzałeś mój parser?
Crozin
Cytat
Upewnij się.
I za bardzo nie wiem jak za pomocą wyrażenia regularnego chcesz DOBRZE zamykać otwarte tagi.
Jej... wszystkiego samymi wyrażeniami się nie da, ale najczęściej trzeba ich użyć by "zacząć pracować nad znacznikami"
tog
wookieb, w poscie widzialem jakis znacznik <i>, nawet nie sciagalem
ale skoro tutaj napisales to sprawdzilem
nie zeby bez problemow... ale sie udalo zainstalowac
problemy mialem z nazwami plikow, na kij duze litery ?
oczywiscie jak zwykle nie przeczytalem komunikatu tylko spojrzalem i wylapalem wzrokiem jeden wyraz, sprawdzilem czy na 100% mam pear na sewerze, pozniej pomyslalem zeby jednak przeczytac blad..
ale nic to... efekt mnie zadowala
tylko planowalem napisac sobie prosciutka funkcje/klase odwolujaca sie do mysql w kwestii ustawien, a pozniej bardzo latwo wstawic sobie te ustawienia do panelu admina
ale zaraz zobacze jak zrobiles ustawienia, moze nie bedzie tak najgorzej...

juz nie chce mi sie kombinowac, wiec pozostane przy tym co jest

PS: Crozin, moja klasa miala wr w dalszej czesci ;-)
w pierwszym poscie dalem to jako przyklad, bo jak nie dam przykladu to czesto inni nie rozumieja co chcialem przekazac w poscie tongue.gif
wookieb
Cytat(tog @ 4.01.2010, 20:12:38 ) *
problemy mialem z nazwami plikow, na kij duze litery ?

Odrazu odznaczam co jest klasą, co jest funkcją.
W kodzie nazwy klas z dużej litery o wiele lepiej wyglądają, nie zlewają sie z resztą. A jak nazwy klas z dużej to i pliki z dużej.

Cytat
tylko planowalem napisac sobie prosciutka funkcje/klase odwolujaca sie do mysql w kwestii ustawien, a pozniej bardzo latwo wstawic sobie te ustawienia do panelu admina
ale zaraz zobacze jak zrobiles ustawienia, moze nie bedzie tak najgorzej...

O jakich ustawieniach mówisz? Wszystkie masz w BbcodeSettings
tog
tia, tylko musze to zrobic tak zeby mozna bylo zarzadzac tym plikiem z poziomu eleganckiego systemu zarzadzania a nie wklepywac recznie do pliku;)
ale to chyba juz nie problem...

moze ktos mi jeszcze odpowie w temacie Temat: inneprzyjazne urle ?snitch.gif

tiaaa....
nie wiem czy tak mialo byc...
ten moj senttings ma 4 wiersze kodu i wyglada troche jak po kompilacji tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.