Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Regex - [b]ble [b]bla[/b]ble[/b], preg_match_all() i zagnieżdżanie wyrażeń
SHiP
post
Post #1





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

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


Chce odnaleźć wszystkie znaki pomiędzy
Kod
[b] [/b]


Wszystko dziala ale gdy wpisze konstrukcje typu...

Kod
[b] coś tam coś tam [b] coś tam coś tam[/b]coś tam [/b]

Wtedy wyrażenie nie widzi tego jako 2 wyrażeń(jedno zagnieżdżone w drugim) tylko jako jedno wyrazenie... Przeplata mi kod i wychodzi
Kod
[b] coś tam coś tam [b] coś tam coś tam[/b]


Czy jest moze jakis sposób aby ta funkcja dzialała mądrzej winksmiley.jpg i wykonywała taką jakby rekurencje wyrażenia?

Oczywiście chodzi mi o zwrócenie całej zawartości głównego zakresu tzn
Kod
coś tam coś tam [b] coś tam coś tam[/b]coś tam


Ten post edytował SHiP 17.07.2006, 20:17:10


--------------------
Warsztat: Kubuntu, PhpStorm, Opera
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Tutaj masz temat, ale jak nie znasz sie na wyrazeniach to raczej nie poradzisz sobie:
http://forum.php.pl/index.php?showtopic=40158

Druga metoda (prostrza) jest znakowanie
Go to the top of the page
+Quote Post
SHiP
post
Post #3





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

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


A więc już widze ze FiDO wymiata winksmiley.jpg proste wyrażnia rozumiem ale o asercji nie mam zielonego pojecia winksmiley.jpg a to co napisał FiDO to dla mnie już naprawde czarna magia winksmiley.jpg.

Cytat(FiDO)
Kod
#\\[x] ( (?: (?R) | (?:.*?(?!\\\[/x])) )* ) \\[/x]#x


Postaram sie dowiedzieć czegoś wiecej o asercji a puki co przerobie skladnie w moim skrypcie i omine problem ;]...

Tak z ciekawosci spytam, o co chodzi w znakowaniu?


--------------------
Warsztat: Kubuntu, PhpStorm, Opera
Go to the top of the page
+Quote Post
hwao
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Puszczasz prosty skrypt który robi tak

Input
Kod
[b] coś tam coś tam [b] coś tam coś tam[/b]coś tam [/b]

Output
Kod
[b:1] coś tam coś tam [b:2] coś tam coś tam[/b:2]coś tam [/b:1]

I wyrazenie dodajesz zeby lapalo z tym samym oznaczeniem
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 13:24