Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zaawansowana funkcja parsująca
Forum PHP.pl > Forum > Przedszkole
nergla
Czy da się napisać taką funkcję która dostaje zmienną z tekstem ($text) i zaczyna w nim zmieniać określone znaki na inne tak jak to robi preg_match() ale tylko do momentu natrafienia w zmiennej na ciąg znaków np. [kod], a po trafieniu na [/kod] z powrotem zmieniała by znaki, i tak w kółko, później zwracała by mi wynik do zmiennej.

Próbowałem coś wymyślić ale jakoś nie mogę tego wszystkiego ogarnąć.
Fifi209
Cytat(nergla @ 10.08.2009, 03:24:16 ) *
Czy da się napisać taką funkcję która dostaje zmienną z tekstem ($text) i zaczyna w nim zmieniać określone znaki na inne tak jak to robi preg_match() ale tylko do momentu natrafienia w zmiennej na ciąg znaków np. [kod], a po trafieniu na [/kod] z powrotem zmieniała by znaki, i tak w kółko, później zwracała by mi wynik do zmiennej.


Zapewne się da.

Cytat(nergla @ 10.08.2009, 03:24:16 ) *
Próbowałem coś wymyślić ale jakoś nie mogę tego wszystkiego ogarnąć.


To pokaż swoje wypociny.
wookieb
Zobacz sobie powoli jak działą mój parser bbcode. A szczególnie kod metody _buildNodesArray(). Tam jest pokazane jak znaleźć tagi bbcode.
Jeżeli chcesz użyć mojego parsera to umożliwia ci on "przeparsowanie" ciągów znaków, które nie są objętym żadnym bbcodem.
W skrócie wystarczy ci użyć tego parsera. Wywalić wszystkie filtry (removeAllFilters) i załadować swój własny.

Aby wykonywać pewną funkcje na ciągach nie objętych bbcodem musisz użyc opcji tagu "parseNoBody" (zobacz jak działą filtr URL).
Parser w stopce. W razie pytań służę na PW ale nie zrobię wszystkiego za ciebie to odrazu mówię.
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.