Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zamiana - preg_replace...
Rafael6666
post
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (10%)
X----


Mam pewien problem... A więc, załóżmy, że mam takie wyrażenie:

Kod
Ala nie ma [kota|psa|konia] bo lubi psa i konia...


Chcę zamienić wyraz konia na lwa, ale tylko tam gdzie nie znajduje się pomiędzy [, ].

Chcę uzyskać coś takiego:

Kod
Ala nie ma [kota|psa|konia] bo lubi psa i lwa...


Proszę o pomoc smile.gif ...

OK, z tym sobie już poradziłem...

Mam jeszcze jedno pytanie. Czy da się w preg_replace brać pod uwagę wielkość liter wyrażenia?


--------------------
Kompleksowe i profesjonalne tworzenie stron www
Go to the top of the page
+Quote Post
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Co do pyt. 1 to trza pomobinowac
A do 2 to o co ci dokladnie chodzi zeby zrobic wyrazenie regularne tylko dla malych liter to ereg() a jak moga byc male duze lub obydwa to preg_replace() i eregi() w preg_replace dla malych i duzych dajesz taki zakres a-zA-Z jesli o to chodzi.


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
Rafael6666
post
Post #3





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (10%)
X----


Jak zmienię z preg_replace na ereg_replace, to nic się wtedy nie dzieje...

Moje wyrażenie wygląda tak:

Kod
$text = ereg_replace('/([^\||\[])konia([^\||\]])/is', '\\1lwa\\2', $lol);


Przypominam, że wyrażenie pod spodem działa:

Kod
$text = preg_replace('/([^\||\[])konia([^\||\]])/is', '\\1lwa\\2', $lol);


Ten post edytował Rafael6666 25.12.2007, 16:55:10


--------------------
Kompleksowe i profesjonalne tworzenie stron www
Go to the top of the page
+Quote Post
glorification
post
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 2
Dołączył: 22.12.2007

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


popatrz sobie na cos co jest dostepne od php 5 tj lookaround w postaci lookahead i lookbehind ... w skrocie mozesz dopasowac cos co wystepuje po czyms lub przed czyms okreslonym w twoim wyrazeniu ... wyrazenia z lookaround sa niemal niemozliwe do zastapienia tradycyjnymi metodami ... np . w javascript dziala tylko lookahead , w php dziala to podobnie ale masz jeszcze 'spojrzenie na to co jest przed tym czego szukasz'...

g.

Ten post edytował glorification 25.12.2007, 17:12:21
Go to the top of the page
+Quote Post
marcio
post
Post #5





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


moze to ci pomoze ogolna skladnia wyrazen regularnych


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
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 - 20:20