![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam. W wyrazeniach regularnych PERL-a użycie wyrażenia (.*?) we wzorcu powoduje wyszukanie najkrótszego dowolnego wzorca.
Wyrazenie (.*) czy tam (.?) (juz nie pamietam) powoduje wyszukanie najdłuzszego dowolnego wzorca. Czy jest mozliwosc wyszukania dowolnego najdłuższego wzorca? potrzebuje tego do parsera ktory wytnie z kodu HTML te znaczniki ktore da sie zamienic na bbcode. wyrazenie <span style="color: red">tekst czerwony <span style="font-style: italic">i pochylony</span></span> nie zamienia sie poprawnie na tekst czerwonyi pochylony tylko wychodzi tekst czerwony<span style="font-style: italic">. Cos takiego wychodzi. W kazdym razie powinien skoczyc do najdalszego znacznika span, a on skacze do najkrótszego. Nie da sie uzyc <b> <i> <u> poniewaz po wlaczeniu contentEditable w mozilli wykonanie polecenia mozilli exec("Bold") powoduje wstawienie do kodu nie <b> a wlasnie <span style="Font-weight: bold">... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Tak przeczytalem w kursie regexp dowolny najdluzszy wzorzec. Okazalo sie ze i tak zeby to zrobic trzeba napisac parser HTML, ew skorzystac z jakiegos gotowego.
bo jak sie wezmie greedy to wtedy z <b>boldtext</b>notboldtext<b>boldtext</b> zrobi zamiast boldtextnotboldtextboldtext cos takiego: boldtext</b>notboldtext<b>boldtext dobra to temat mozna zamknac, znajde sobie dobrą klasę parsera html, i na jej podstawie przetlumacze wiadomosc na bbcode. Ten post edytował Orzeszekk 25.10.2011, 23:44:46 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 16:12 |