Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Regex - [b]ble [b]bla[/b]ble[/b]
Forum PHP.pl > Forum > PHP
SHiP
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
hwao
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
SHiP
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?
hwao
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.