Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [BBCode] Zagnieżdzanie znaczników (code...)
Wankster
post
Post #1





Grupa: Zarejestrowani
Postów: 208
Pomógł: 0
Dołączył: 19.04.2003

Ostrzeżenie: (0%)
-----


To tak...

Napisałem sobie klase do obsługi BBCode, jednak ta jeszcze nie działa w pełni tak jak powinna 8)

Otóż, źle działa parsowanie zagnieżdżania tagów [code] (może być np. [code], [code type=php], [code type=xhtml title="listing 1"]) czy [quote].

Tutaj są klasy i przykłady:
+ Klasa bbcode: http://dev.miracle.pl/bbcode/class.bbcode.php
+ Wykoszystanie klasy bbcode: http://dev.miracle.pl/bbcode/example.php
+ Wykorzystanie klasy bbcode z zagnieżdzaniem znaczników [code] i [quote]: http://dev.miracle.pl/bbcode/example2.php
+ Klasy i szablony konkretnych tagów: http://dev.miracle.pl/?dir=bbcode/bbcode/ (aby zobaczyć źródło należy kliknąć na lupę :wink: )

Czy w ten sposób, który ja to robie jest możliwe zrobienie poprawnego zagnieżdzania tagów?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
boya
post
Post #2





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

Ostrzeżenie: (0%)
-----


spróbuj może tak:

[php:1:a0c0fcc80a]<?php
$message = preg_replace(array(
'#[mail]([a-z0-9&-_.]+?@[w-]+.([w-.]+.)?[w]+)[/mail]#si',
'#([^ "nrt<]*?)#is',
'#[img]([^ "nrt<]*?)[/img]#is',
'#([^ "nrt<]*?)#is',
'#([^ "nrt<]*?)#is',
'#(.+)#'
), array(
'<a title=Wejdz class=t1 href=mailto:1>1</a>',
'<a title=Wejdz class=t1 href=1 target=_blank>1</a>',
'<img border=0 src=1>',
'<u>1</u>',
'<i>1</i>',
'<b>1</b>'
), $message);
$message=str_replace("n", "<br>", $message);
?>[/php:1:a0c0fcc80a]

napisz czy pomogło (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 06:23