Autor Zpráva
Chodec
Profil
Ahoj.
Může mi někdo vysvětlit, proč
Preg_Replace ("#[‚‘’]#", "'", "’")
vrátí
'''
Živý náhled
Předem díky!
Kajman
Profil
Soubor máte uložený v jakém kódování? Pokud v utf8, zkuste flag u.
Chodec
Profil
V žádném. Je to přímo v Sandboxu. Viz odkaz výše. S modifikátorem "u" to funguje. Můžu poprosit o nějaké bližší vysvětlení.
Děkuji.
Kajman
Profil
Ta stránka používá utf8 - tedy některé znaky (např. ASCII) mají jeden byte, některé víc bytů. Bez přepínače "u" povolující více bytů pro jeden znak (zapsaných korekním utf8) to asi PCRE bere jako více znaků (jeden byte jeden znak) a dělá to něco jiného, než bys čekal.
Chodec
Profil
Má tedy smysl používat modifikátor "u" preventivně všude?
Kajman
Profil
Pokud mají být stringy brané jako utf-8 řetězce a jsou to validní utf-8 řetězce, tak určitě.

Edit: a podobně používat php funkce určené k práci s multibytovým kódováním - www.php.net/manual/en/ref.mbstring.php
Chodec
Profil
Multibyte String Functions už používám dlouho. Dokonce jsem se o nich dozvěděl v roce 2009 na tomhle fóru :)
Tak ještě jednou díky!

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