Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] preg_match a polskie znaki
lectric
post 23.07.2007, 14:12:38
Post #1





Grupa: Zarejestrowani
Postów: 167
Pomógł: 1
Dołączył: 22.08.2006
Skąd: universe

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


Hej mam cos takiego


  1. <?php
  2. if(preg_match("/$szukaj/i", $row[$mysql_row]) || preg_match("/$szukaj/i", $row[$mysql_row2])) 
  3. {
  4. echo 'jest';
  5. }
  6.  
  7. else { 
  8. echo 'brak'; 
  9. }
  10. ?>


Jesli np. $szukaj = 'test' jest wszystko ok. Lecz gdy $szuka= 'żółte słońce' nic nie zjaduje.
Dodam ze sprawdzany ciag zawiera powyzsze wyrazy.

Czy jest jakis sposob na te ogonki ?


--------------------
Potrzebujesz dodać darmowe ogłoszenia ?, w takim razie musisz odwiedzić to miejsce !
Presell - tutaj dodasz swoj artykul za darmo ! Presell Page dla wszystkich bez limitów i utrudnień
Masz firme ? Ta baza firm jest dla Ciebie i Twoich znajomych są też śmieszne filmiki
Go to the top of the page
+Quote Post
Mazur_pl
post 23.07.2007, 18:20:06
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 11.05.2007

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


No nie wiem mnie zawsze wyskakuje TRUE:
  1. <?php
  2.  
  3.  
  4. if(preg_match('/ąęóć/', 'ąęóć'))
  5. {
  6. echo('TRUE');
  7. }
  8.  else
  9. {
  10. echo('FALSE');
  11. }
  12.  
  13.  
  14. ?>
Go to the top of the page
+Quote Post
lectric
post 23.07.2007, 22:34:44
Post #3





Grupa: Zarejestrowani
Postów: 167
Pomógł: 1
Dołączył: 22.08.2006
Skąd: universe

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


tak u mnie tez to co podales wyzej jest ok. Sprawdzilem okazuje sie ze jest problem z $row[$mysql_row] ale gdy robie echo $row[$mysql_row]) widze poprawny tekst "żółte słońce".

Zupelnie tego nie rozumiem brak w tym logiki. Skoro echo pokazuje poprawnie ciag to czemu funkcja ma z tym problem...


--------------------
Potrzebujesz dodać darmowe ogłoszenia ?, w takim razie musisz odwiedzić to miejsce !
Presell - tutaj dodasz swoj artykul za darmo ! Presell Page dla wszystkich bez limitów i utrudnień
Masz firme ? Ta baza firm jest dla Ciebie i Twoich znajomych są też śmieszne filmiki
Go to the top of the page
+Quote Post
Kicok
post 24.07.2007, 08:05:54
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Pewnie problemy z kodowaniem znaków, polskie znaki zapisane w kodzie PHP mają inne kodowanie niż polskie znaki pobrane z bazy danych.

Być może będziesz jeszcze musiał użyć modyfikatora u w tym wyrażeniu ( http://pl2.php.net/manual/pl/reference.pcr...n.modifiers.php )


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
lectric
post 24.07.2007, 13:56:14
Post #5





Grupa: Zarejestrowani
Postów: 167
Pomógł: 1
Dołączył: 22.08.2006
Skąd: universe

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


Znalazlem przyczyne w bazie, mianowice znak ó jest zapisany jako &oacute;

teraz wykorzystuje funkcje

  1. <?php
  2. function htmlentities_iso88592($string) {
  3.  $pl_iso = array('&ecirc;', '&oacute;', '&plusmn;', '&para;', '&sup3;', '&iquest;', '&frac14;', '&aelig;', '&ntilde;', '&Ecirc;', '&Oacute;', '&iexcl;', '&brvbar;', '&pound;', '&not;', '&macr;', '&AElig;', '&Ntilde;');
  4.  $entitles = get_html_translation_table(HTML_ENTITIES);
  5.  $entitles = array_diff($entitles, $pl_iso);
  6.  return strtr($string, $entitles);
  7. ?>


uzywam:

  1. <?php
  2. $tekst = '&oacute;';
  3. echo htmlentities_iso88592($tekst);
  4. ?>


i wyswietla dalej &amp;oacute; ? Cos nie tak robie ?

Ten post edytował lectric 25.07.2007, 11:31:06


--------------------
Potrzebujesz dodać darmowe ogłoszenia ?, w takim razie musisz odwiedzić to miejsce !
Presell - tutaj dodasz swoj artykul za darmo ! Presell Page dla wszystkich bez limitów i utrudnień
Masz firme ? Ta baza firm jest dla Ciebie i Twoich znajomych są też śmieszne filmiki
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: 22.06.2025 - 21:49