Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Najdłuższe dowolne wyrażenie, Problem z wyrażeniami regularnymi
Orzeszekk
post
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">...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
croc
post
Post #2





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


OK, jeszcze raz. Moja idea jest taka, żeby wszystko co użytkownik ma prawo zapisać w formie sformatowanej było zapisane jako BBCODE w bazie danych. Wszystko inne jest zwykłym tekstem.

Jako zwykły tekst może sobie zapisać znaczniki HTML jeśli próbuje być cwaniaczkiem. Takie próby powinny lądować do bazy danych BEZPOŚREDNIO. Ja zawsze powtarzam, że baza danych to miejsce święte i to co użytkownik wpisze, ma się w niej znaleźć. Dlatego htmlspecialchars PO, a nie PRZED zapisem.

Zabezpieczenie przed SQL Inj. to oczywista sprawa.

Czyli zakładając, że ktoś może np. tylko pogrubiać i pochylać tekst i usiłuje jeszcze go podkreślić, ale na to już nie zezwalasz:

Kod
[b][i]<u>Jestem cfaniak!</u>[/i][/b]

Wymaluje:
<u>Jestem cfaniak!</u>

Ten post edytował croc 26.10.2011, 01:15:36
Go to the top of the page
+Quote Post

Posty w temacie
- Orzeszekk   Najdłuższe dowolne wyrażenie   25.10.2011, 15:53:16
- - mikiz65   Spróbuj użyć funkcji strp_tags. Wycina znaki HTML ...   25.10.2011, 18:12:04
- - Orzeszekk   Nie chodzi o to by sie ich pozbyc (banał) tylko po...   25.10.2011, 20:49:34
- - croc   Nie do końca rozumiem. Podaj przykładową sytuację ...   25.10.2011, 20:51:26
- - abort   Czekaj, czy ja dobrze rozumiem, że chcesz zamienić...   25.10.2011, 23:33:49
- - Orzeszekk   Tak przeczytalem w kursie regexp dowolny najdluzsz...   25.10.2011, 23:41:57
- - croc   A ja się zapytam: PO CO? BBCODE zwykle używa się p...   25.10.2011, 23:46:19
- - Orzeszekk   Po to ze mam na stronie edytor wizualny ktory pozw...   26.10.2011, 00:20:53
- - croc   Moim zdaniem bez sensu. Jak masz edytor WYSIWYG to...   26.10.2011, 00:23:35
- - Orzeszekk   chodzi o to ze np jesli klasa parsujaca zle sparsu...   26.10.2011, 00:28:04
- - croc   A nie możesz zastosować jakiegoś gotowego edytora ...   26.10.2011, 00:32:48
- - Orzeszekk   Fajna rada. Zdam sie w walidacji danych na javascr...   26.10.2011, 00:49:35
- - croc   1. Tak. Taka jest idea BBCODE. 2. Poczytaj sobie o...   26.10.2011, 00:55:10
- - Orzeszekk   Ja wiem o zabezpieczaniu przed SQL injection. Tylk...   26.10.2011, 01:04:55
- - croc   OK, jeszcze raz. Moja idea jest taka, żeby wszystk...   26.10.2011, 01:15:12
- - Orzeszekk   twoja idea do mnie nie trafia, jakos nie uwazam cw...   26.10.2011, 01:19:39
- - croc   Cytat(Orzeszekk @ 26.10.2011, 02:19:3...   26.10.2011, 01:23:08
- - by_ikar   Jednym wyrażeniem tego nie zrobisz możesz to zrob...   26.10.2011, 07:41:02
- - Orzeszekk   Zrezygnowalem z uzycia wyrazen regularnych na rzec...   27.10.2011, 10:22:41


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: 14.10.2025 - 15:57