Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Preg_replace pomoc z wyrażeniem regularnym
momo666
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.09.2009

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


Witam. Łącze dwa fora, jedno z SMF, a drugie z phpBB3. Załatwiłem już praktycznie całą konwersję, ale pozostał jeden problem. W bazie z phpBB BBCode są jakoś dziwnie zapisywane. To jest np. zamiast tradycyjnego
Kod
[b][/b]

mamy:
Kod
[b:abcd1234][/b:abcd1234]

czyli dodawany jest dwukropek i 8 znaków z przedziału a-z + 0-9. Nie wiem czy to jakiś hash czy co, w każdym bądź razie chciałbym się tego pozbyć, bo SMF wogóle tego nie rozpoznaje.
Postanowiłem przelecieć po wszystkich postach i preg_replace'm pozmieniać ten dwukropek, 8 alfanumów i nawias zamykajacy na sam nawias. Użyłem takiego wyrażenia regularnego:
Kod
/^:([a-z0-9]){8}\]$/D

niestety nie jest ono ok, mimo że mi się wydaje właściwe (próbowałem też kilkanaście innych wariantów), ma ktoś jakiś pomysł co może być z tym nie tak? Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
momo666
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.09.2009

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


Gro i bucy (IMG:style_emoticons/default/biggrin.gif) Dzięki wielkie.

Mała poprawka. Wyrażenie co prawda pasuje do tego wzorca którego chce się pozbyć, ale pasuje też do adresów w tagach url, przez co wycieło mi sporą część linków. Jak to ograniczyć, zeby brało pod uwagę tylko ciągi zawierające właśnie ten dwukropek, 8 znaków alfanumerycznych i nawias kwadratowy zamykający?
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 10:17