bbcode to html

0

Witam, poszukuje funkcji w javie która skonwertowała by mi tekst w html na taki podstawowy bbcode tak jak robi to javascript na tej stronie http://www.seabreezecomputers.com/html2bbcode/. Moze ma kros cos takiego napisane ? Bo szczerze to mi sie nie chce pisac tego od poczatku bo to kawalek roboty

0

ctr+u?

0
sprzedamsanki napisał(a)

ctr+u?

co masz na mysli ?

0

źródło strony :]

0

tak tylko jak przerobic cos takiego z javascript na JAVA aby to dzialalo:

bbcodetext = bbcodetext.replace(/<BR>/gi, "\r");
	bbcodetext = bbcodetext.replace(/<BR(.*?)\/>/gi, "\r"); // added (.*?) 5/30/09
	bbcodetext = bbcodetext.replace(/<P>/gi, "\r\r");
	bbcodetext = bbcodetext.replace(/<P [^>]*>/gi, "\r\r");
	bbcodetext = bbcodetext.replace(/<code>/gi, "[code]");
	bbcodetext = bbcodetext.replace(/<\/CODE>/gi, "[/code]");
	bbcodetext = bbcodetext.replace(/<BLOCKQUOTE>/gi, "[quote]");
	bbcodetext = bbcodetext.replace(/<\/BLOCKQUOTE>/gi, "[/quote]");
	bbcodetext = bbcodetext.replace(/<UL[^>]*>/gi, "[list]");
	bbcodetext = bbcodetext.replace(/<\/UL>/gi, "[/list]");
	bbcodetext = bbcodetext.replace(/<OL[^>]*>/gi, "[list=1]");
	bbcodetext = bbcodetext.replace(/<\/OL>/gi, "[/list]");
	bbcodetext = bbcodetext.replace(/<LI>/gi, "[*]");


0

a co to, java nie ma wyrażeń regularnych?
odpowiednik funkcji .replace() w Javie to: http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Matcher.html#replaceAll(java.lang.String)

0
bbcodetext.replace("/<B>/gi", "[b]");
bbcodetext.replace("/<\/B>/gi", "[/b]");
bbcodetext.replace("/<U>/gi", "[u]");
bbcodetext.replace("/<\/U>/gi", "[/u]");
bbcodetext.replace("/<I>/gi", "[i]");
bbcodetext.replace("/<\/I>/gi", "[/i]");

Jakis przyklad bo tak to działac nie chce, krzyczy illegall escape character</b></u></i>

0

Nie mam teraz dostępu do środowiska, więc nie mogę sprawdzić argumentów konstruktora obiektu Matcher, ale kod chyba będzie wyglądał tak:

String bbcodetext ="";//...
bbcodetext = new Matcher("<BR>").replaceAll("\r");

I tak dla wszystkich linijek. Jeśli dobrze zrozumiałem specyfikację Javascriptu, to /gi trzeba usunąć.

Nie jestem specjalistą od JS, ani od wyrażeń regularnych, więc w razie kłopotów któś inny ci bedzie musiał to dokładniej wyjaśnić.

Acha. illegall escape character jest przez "/<", który jest wymagany w przeglądarkach, ale w Javie wystarczy "<"

0
hubert_nnn napisał(a)

Nie mam teraz dostępu do środowiska, więc nie mogę sprawdzić argumentów konstruktora obiektu Matcher, ale kod chyba będzie wyglądał tak:

String bbcodetext ="";//...
bbcodetext = new Matcher("<BR>").replaceAll("\r");

> I tak dla wszystkich linijek. Jeśli dobrze zrozumiałem specyfikację Javascriptu, to /gi trzeba usunąć.
> 
> Nie jestem specjalistą od JS, ani od wyrażeń regularnych, więc w razie kłopotów któś inny ci bedzie musiał to dokładniej wyjaśnić.
> 
> Acha. illegall escape character  jest przez "/<", który jest wymagany w przeglądarkach, ale w Javie wystarczy "<"


z tym Matcherem nie wiem jak tego uzyc a z tym "/<" to niby faktycznie pomoglo ale znow nie dla wszystkich warunkow
0

Niech zgadnę. Nie pomogło przy [/u],[/b],[/i]? jeśli tak, to zrób podwójne ukośniki tam np. [*u] lub [/u]. Któreś pomoże, tylko właśnie nie pamiętam które albo dobra będzie para </B> i [/b], albo <*B> i [//b].

0
hubert_nnn napisał(a)

Niech zgadnę. Nie pomogło przy [/u],[/b],[/i]? jeśli tak, to zrób podwójne ukośniki tam np. [*u] lub [/u]. Któreś pomoże, tylko właśnie nie pamiętam które albo dobra będzie para </B> i [/b], albo <*B> i [//b].

bbcodetext.replace("<BR(.*?)\/>", "\r");

Probowalem na wszystkie sposoby i nie chce...

0

a jak sie skompilowalo to potraktowalo to jako zwyklego stringa... :|

0
String miasto_illegal_regex = "[^a-zA-ZąćęłńóśźżĄĘŁŃÓŚŹŻ]";
String miasto = "Elbląg";
Pattern p = Pattern.compile(miasto_illegal_regex);
Matcher m = p.matcher(miasto);

System.out.println(miasto+" jest :"+ ( (m.find()) ? "niepoprawny" : "poprawny" ) );

znalazlem cos takiego ale nadal nie wiem jak tego uzyczyc w moim przypadku. :/...

[glowa] jest niby jakies m.replaceAll( String) ale kurcze nie rozumiem jak to działa moze ktos wyjasni ? bo u mnie cienko jak widze z ang. :|

1 użytkowników online, w tym zalogowanych: 0, gości: 1