string hoszza probléma
üdv !
Szövegmezőkből olvasok be adatokat egy weblapon, és feldolgozás előtt ellenőrzöm őket, hogy megfelelő hosszúságúak-e ? Ezt az srtlen() függvénnyel csinálom. Az a problémám, hogy például a szövegmezőben megadott 13 karakter, az a php strlen() függvénye szerint 15 karakter ! Szóval valamit nem értek. Az a maradék két karakter a \r\n lenne ? De szövegmezőnél hogy ? Mikor nem is lehet "újsor" -t bevinni mint például a textarea-nál.
Szóval elég idegesítő a probléma, mert írtam egy kis egyszerű JavaScriptet hogy ha például a szövegmező value.length értéke 15 fölé megy akkor legyen piros a háttér. De sajnos a php már 13 karakterre is 15 öt-érzékel ! De nem is lehetne ott láthatatlan karakter mivel a JavaScript jól érzékeli a dolgokat. De a php nem.
A segítséget előre is köszönöm.
■ Szövegmezőkből olvasok be adatokat egy weblapon, és feldolgozás előtt ellenőrzöm őket, hogy megfelelő hosszúságúak-e ? Ezt az srtlen() függvénnyel csinálom. Az a problémám, hogy például a szövegmezőben megadott 13 karakter, az a php strlen() függvénye szerint 15 karakter ! Szóval valamit nem értek. Az a maradék két karakter a \r\n lenne ? De szövegmezőnél hogy ? Mikor nem is lehet "újsor" -t bevinni mint például a textarea-nál.
Szóval elég idegesítő a probléma, mert írtam egy kis egyszerű JavaScriptet hogy ha például a szövegmező value.length értéke 15 fölé megy akkor legyen piros a háttér. De sajnos a php már 13 karakterre is 15 öt-érzékel ! De nem is lehetne ott láthatatlan karakter mivel a JavaScript jól érzékeli a dolgokat. De a php nem.
A segítséget előre is köszönöm.
addcslashes
Még valami
A JavaScript szerint - és egyébként helyesen - a "Ez itt egy példa" már 16 hosszú ezért bepirosodik a háttere. Ha egyet visszatörlök akkor a "Ez itt egy péld" még éppen elfogadható, vagyis a JavaScript szerint 15 karakter hosszú. De ez a PHP strlen() szerint már 16 karakter !!!! könyörgöm...nah erre varrjon valaki gombot...Ez miez ???
php kódot
multibyte
Az strlen függvény a PHP esetén nem veszi figyelembe az esetlegesen több bájton tárolt karaktereket (az utf-8 igen gazdag ilyen karakterekben). Éppen ezért nem is használható igazán szöveghossz megállapÍtására (inkább byte-hosszt számolni jó).
Használd a mb_strlen függvényt helyette, ami a többájtos karaktereket egynek számolja, ha megfelelően adod át a karakterkódolást (vagy előtte beálltod az internal character set-et).
Köszi