Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]preg_replace() Polskie znaki.
ZaXaZ
post
Post #1





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


mam taki preg:
  1. preg_replace("/[^0-9a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ_\-]/", "", $input);


próbuje zamienić wszystko poza a-Z (z polskimi) oraz _ - na nic, jednak wyskakuje błąd jak próbowałem dodać znaki Polskie, jak to naprawić?

ps. błąd taki:
Kod
<br />
<b>Fatal error</b>:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=''

Baza jest w utf8. (utf8_polish_ci)

Ten post edytował ZaXaZ 2.07.2014, 21:28:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ZaXaZ
post
Post #2





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


  1. $input = preg_replace('~[^\\pL\d]+~u', '-', $input);
  2. $input = trim($input, '-');
  3. $input = iconv('utf-8', 'us-ascii//TRANSLIT', $input);
  4. $input = preg_replace('/[^0-9a-zA-Z_\-]/', '', $input);


zrobiłem tak jak wyżej (słabo znam się na wyrażeniach regularnych), zamienia mi polskie znaki na angielskie odpowiedniki. (IMG:style_emoticons/default/questionmark.gif)
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 - 07:51