PHP fóra: Builder | JakPsatWeb | Webtrh
Nejste přihlášen(a)
Caute,
potreboval by som vediet ci existuje nejaka funkcia/metoda co pozrie
povolene znaky.
Pouzivame xml service jednej spolocnosti, takze escapujeme znaky <,> a
&. Na toto pouzivame
htmlspecialchars(‚string‘, ENT_NOQUOTES). Problem nastane ked niekto
skopiruje text z word
dokumentu a vlozi ho do input boxu. Z apostrofu – ' sa stane – ’a tento
znak sa konvertuje
nespravne na druhom konci – kde my to nemozme ovplyvnit.
Takze my by sme potrebovali vediet ci existuje nejaka funkcia co skontroluje
znaky podla klavesnice,
napr. UK klavesnica, CZ klavesnica atd. Ak nie tak nam neostava nic ine ale
vytovrit regularny vyraz
co to bude kontrolovat.
a co ten text uzavřít do CDATA?
Kevujin napsal(a):
a co ten text uzavřít do CDATA?
Ako som uz spomenul problem je na druhej strane nie u nas, ten apostrof sa
da poslat v xml,
nemusi byt v CDATA, plus schema zakazuje pouzit CDATA na ten konkretny tag.
Problem je u
prijamatela toho xml takze ani CDATA by to nevyriesilo lebo oni by zle
skonvertovali ten wordovsky
apastrof.
Nakonies sme vyriesili problem nasledovne:
<?php
echo !preg_match('/[^\x20-\x7E]/', $str) ? 'correct' : 'wrong';
?>
kde $str je input od uzivatela.
Rgularny vyraz pozrie ci sa v premenej $str nachadzaju znaky ktore niesu
v skupine znakov x20 po x7e (http://en.wikipedia.org/…I_characters#… –
hex stlpec)