Ahojte.
Mám sestrojený regulární výraz, který vyhledává podle celkem jednoducjého vzoru kus textu. Při spouštění na localhostu nemám problém. Při spouštění z WZ script funguje, ale vyhledá pouze řetězec pokud zrovna nemá znaky s diakritikou. Tak chyba bude někde v zavedení národní abecedy. Kód vypadá takhle:
setlocale (LC_ALL, "csy");
preg_match('/\$[\w ]+\|/', $neco);
Rád bych našel třeba řetězec: '$Pouť za sněhem|'
Můj tip je, že problém je v tom, že localhost mi běží na winXP, server WZ (asi) na něčem jiném (a pokud skutečně ano, možná by měl řetězec určení jazyka v setlocale ("csy") vypadat jinak - nevím). Nemá s tím někdo zkušenost? Předem díky za konzultace:o)
Je to skutecne tak. Na WZ je jiny operacni system (linux) a tudiz i jine znaceni narodni nastaveni.
Nevim, ktery je spravny, ale zkus mozne kombinace:
setlocale("LC_ALL","cs");
setlocale("LC_ALL","cs_CZ");
setlocale("LC_ALL","cze");
Tak toto nepomohlo v žádném z uvedených tvarů. Ale děkujuuu... :o)
Na http://php.vrana.cz/filter-a-dalsi-novinky-v-php-5-2.php jsem narazil na radu uvést do [ ] všechny znaky s diakritikou (a to už funguje). Já jsem je do hranatých závorek vložil prostým výčtem.
Někdo to prý řeší rozmezím jejich hexa hodnot (podle ascii) - to se mi ale moc nelibi, protoze v ascii tabulce nejsou znaky s diakritikou všechny hned za sebou a intervalem jejich hexa hodnot přidáme do [ ] i množství jiných znaků...