Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [preg_replace] pliki
-Guest-
post 2.08.2005, 02:02:29
Post #1





Goście







w jaki sposob zrobic zapytanie do preg_replace aby usunelo wsyzstko oprocz znakow asci od 46 do 57, od 65 do 90 i od 97 do 122 questionmark.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
hwao
post 2.08.2005, 08:43:00
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




To trzeba zrobic inaczej, mianowicie:

Trzeba wyrazenie ktre wyppaluje wszytkie asic bez roznicy
Dajemy je do fukcjii preg_replace_callback" title="Zobacz w manualu PHP" target="_manual()

W funkcji do ktorej prowadzi callback sprawdzamy jaka to liczba i jak jest w przedziale (if'em) to dajemy return i zwacamy ja w przeciwnym wypadku return null;

To tyle.
Go to the top of the page
+Quote Post
FiDO
post 2.08.2005, 17:41:11
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Ale gdzie tam.. nie trzeba callbacka do tego smile.gif

Mozna:
  1. <?php
  2.  
  3. preg_replace('#[^x2E-x39]+#', '', $tresc);
  4.  
  5. ?>

i tak dla reszty przedzialow.. mozna zapisac przedzialy jeden po drugim, tylko trzeba sobie najpierw zamienic liczby na hex.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
hwao
post 2.08.2005, 19:42:40
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Swoja droga jednak mysle ze moje wygodniejsze, ale smile.gif szczerze nie znalem tego sposobu - dopiero ucze sie RegEx winksmiley.jpg.

Widac zawsze moza sie cos nauczyc:)
Go to the top of the page
+Quote Post
FiDO
post 2.08.2005, 20:14:14
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Wygodniejsze to napewno, ale z wydajnoscia to juz gorzej... callback na kazdym znaku z osobna to nie jest dobry pomysl ;]


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
-Guest-
post 3.08.2005, 09:30:42
Post #6





Goście







hmm
mam taki kod
  1. <?php
  2.  
  3. $str='(@abcdef@)';
  4. echo preg_replace('#[^x2E-x39]+[^x41-x5a]+[^x61-x7a]+#', '', $str);
  5.  
  6. ?>

i cosik nie idzie, gdize zrobilem blad ?
Go to the top of the page
+Quote Post
FiDO
post 3.08.2005, 18:33:56
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Zle skleiles przedzialy..
Powinno byc tak:
  1. <?php
  2.  
  3. echo preg_replace('#[^x2E-x39x41-x5ax61-x7a]+#', '', $str);
  4.  
  5. ?>


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
-Guest-
post 4.08.2005, 10:20:37
Post #8





Goście







thx
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:00