Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] preg_match a polskie znaki
Forum PHP.pl > Forum > PHP
lectric
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 ?
Mazur_pl
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. ?>
lectric
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...
Kicok
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 )
lectric
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 ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.