Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyrazenia regularne
arti1
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 18.11.2003

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


robie cos takiego
[php:1:3e11b4a48d]<?php
$nazwa_kat=eregi_replace("('|;|-|:|<|>|.|,|#|^|&|*|%|(|))","",$nazwa_kat);

$nazwa_kat=eregi_replace("ą","a",$nazwa_kat);
$nazwa_kat=eregi_replace("ę","e",$nazwa_kat);
$nazwa_kat=eregi_replace("ć","c",$nazwa_kat);
$nazwa_kat=eregi_replace("ż","z",$nazwa_kat);
$nazwa_kat=eregi_replace("ź","z",$nazwa_kat);
$nazwa_kat=eregi_replace("ó","o",$nazwa_kat);
$nazwa_kat=eregi_replace("ł","l",$nazwa_kat);
$nazwa_kat=eregi_replace("ń","n",$nazwa_kat);
$nazwa_kat=eregi_replace("ś","s",$nazwa_kat);
?>[/php:1:3e11b4a48d]

czyli usuwam wszystkie śmieci :wink: i polskie "ogonki" ze zmiennej. Zdaje sobie sprawe, ze robie to troche kalecznie.
Wlasnie chcialem zapytac jak mozna to zrobic lepiej - moze w jednym zapytaniu?
Jakie macie propozycje?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
medec
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 6.02.2004

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


bylo to tutaj ze sto razy:

http://php.net/strtr
http://php.net/preg_replace
Go to the top of the page
+Quote Post
dob
post
Post #3





Grupa: Zarejestrowani
Postów: 166
Pomógł: 0
Dołączył: 30.01.2003
Skąd: Warszawa

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


Ja proponuje zamiast uzywac eregi 10 razy, wstawić sobei funkcję [manual:d39313f286]str_replace[/manual:d39313f286] i jako 2 pierwsze argumenty podac tablice
np.
[php:1:d39313f286]<?php
$z1=array("ą", "ć", "ń");
$z2=array("a", "c", "n");
$tekst="blalabana ć ened ń ą";
$tekst=str_replace($z1, $z2, $tekst);
echo $tekst;
?>[/php:1:d39313f286]

Jedynym minusem (chodź może niekoniecznie) jest to że funkcja rozróznia wielkosc liter czyli w obu tablicach powinienes napisac małe jak i duże litery do zmiany. No chya ze uzywasz php 5 gdzie jest funkcja [manual:d39313f286]str_ireplace[/manual:d39313f286]


--------------------
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: 20.08.2025 - 13:48