Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Działania na stringach ...
id4
post
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 1
Dołączył: --
Skąd: Rogożnik /K-ce/

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


Witam bardzo gorąco.
Z góry muszę uprzedzić, że kiepski jestem z operacji na stringach i mam nadzieję, że znajdę tutaj pomoc w rozwiązaniu mojego problemu ...

Posiadam zmienną text z forma, w której jest tzw bbcode:
Kod
[b]Witam [i]niemądry[/i] użytkowniku[/b] :)

Tego stringa przepuszczam przez funkcję:
Kod
$text=preg_replace("/[b]([^[]*)[/b]/i","<b>1</b>",$text);

$text=preg_replace("/[i]([^[]*)[/i]/i","<i>1</i>",$text);

I dostaję:
Kod
[b]Witam niemądry użytkowniku[/b]


Dlaczego?

P.S. wyraz 'niemądry' jest OK kursywą ...

Mam jeszcze jedno pytanie:
Kod
Jak należy wyciądnąć wyraz np. id4 z zapisu:

[xxx=id4]Jakiś tekst[/xxx]


Czy mogę liczyć na pomoc?
Z góry dzięki ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
id4
post
Post #2





Grupa: Zarejestrowani
Postów: 223
Pomógł: 1
Dołączył: --
Skąd: Rogożnik /K-ce/

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


Cytat
$text=preg_replace("/[b]([^[]*)/i","<b>1</b>",$text);

to na czerwono nie pozwala na to aby miedzy

Kod
[b] a [/b]


znalazl sie jakis "["

do Kamelon'a
Jesli juz czepiasz sie predkosci, to czy nie lepiej uzyc str_replace ?

Poza tym w rozwiazaniu, ktore proponujesz moga pojawic sie
problemy gdy ktos nie zamknie danego znacznika


Czy to oznacza, że jeśli ten fragment zaznaczony na czerwono usunę, to nie będzie problemu?
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: 14.10.2025 - 02:55