Autor Zpráva
Public
Profil
<?
$Content = "Číslo, Cislo, Císlo";
Preg_Match_All("/Cislo/i", $Content, $Match);
print_R($Match);
Skript vypýše iba: Cislo, dá sa nejak upraviť regulár aby nerozlišovalo diakritiku ?
Camo
Profil
Public:
Pokiaľ viem tak nedá. Budeš si ten reťazec musieť najprv previesť na znaky bez diakritiky.
Najefektívnejšie cez funkciu iconv().
Public
Profil
Ako potom zistím, originálne slovo keď už bude bez diakritiky ?
juriad
Profil
nebo si vytvořit pole všech možností:
$znaky = array(
  "a" => "[aáä]",
# b ma jedinou moznost, proto tu neni
  "c" => "[cčç]",
  "d" => "[dď]",
  "e" => "[eéě]",
   ...
  "i" => "[ií]"
);

A následně slepit regulární výraz hledaného slova z jednotlivých písmen.
$re = "/";
for(str_split(strtolower($hledane_slovo)) as $znak) {
  if(array_key_exists($znak, $znaky)) {
    $re .= $znaky[$znak];
  } else {
    $re .= $znak;
  }
}
$re .= "/i";

"/[cčç][ií][sš][lľ][oó]/i"
Camo
Profil
Public:
Vlastne tebe asi stačí napísať si normálny regulár, ktorý nájde aj tie znaky ss iakritikou
'/[ČC][ií]slo/i'
EDIT:
ešte tam musí byť pre UTF-8 modifikátor u

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0