Többájtos karakterlánc függvények
Bevezetés
Igaz több nyelv van melyben minden szükséges karaktert képviselhet egy egy-egy megfeleltetétes 8 bites érték, azonban van több nyelv, melyben olyan sok karakter szükséges az írott kommunikációhoz, hogy nem tárolhatóak le egy egyszerű bájtban. (Egy bájtot 8 bit alkot. Minden bit csak két különböző értéket tartalmazhat, egyet vagy nullát. Emiatt egy bájt csak 256 különböző értéket tud képviselni (kettő nyolcadik kitevőjű hatványa)). A többájtos karakterkódolási sémákat azért fejlesztették ki, hogy 256 karakternél is többet lehessen megkülönböztetni egy bájt alapú kódolási rendszerben.
A többájtos kódolású karaterláncok kezelésekor (trim, split, splice, stb.) egyedi függvényeket kell használni, mivel kettő vagy több egymást követő bájt képviselhet egy egyszerű karaktert is. Máskülönben, ha egy többájtos kódolásra nem felkészült függvényt használsz, valószínűleg rosszul fogja kezelni a többájtos karakterek elejét és végét, és elrontott karakterlánccal fog visszatérni, ami elveszti az eredeti jelentését.
Az mbstring kiterjesztés többájtos karakterláncok kezelésére alkalmas függvényeket nyújt, melyek segítik a többájtos kódolásokkal való minkát PHP-ban. Ráadásul az mbstring kezeli a karatkerkódolások átalakítását két lehetséges kódolási pár között. Az mbstring azért készült, hogy kezelje az Unicode-alapú kódolásokat, mint az UTF-8-at és UCS-2-tőt, és több egybájtos kódolást is (a listát lásd lentebb).
PHP karakterkódolási követelmények
A következő karakterkódolási típusok biztonságosan használhatóak a PHP-vel.
-
Egy egybájtos kódolás,
- ami ASCII kompatibilis (ISO646 kompatibilis) megfeleltetéseket használ azoknál a karaktereknél, melyek a 00h-7fh (0-127) tartományba esnek.
-
Egy többájtos kódolás,
- ami ASCII kompatibilis megfeleltetéseket használ azoknál a karaktereknél, melyek a 00h-7fh (0-127) tartományba esnek.
- ami nem használ ISO2022 karakterlevédis szekvenciákat.
- ami nem használ értéket a 00h-7fh (0-127) tartományból bármely összetett bájtban ami egy karaktert képvisel.
A következő karakterkódolások helytelenül működnek a PHP-ban.
JIS, SJIS, ISO-2022-JP, BIG-5
A fenti karakterkódolásokban írt szkriptek valószínüleg nem fognak működni, különösen abban az esetben, ahol a kódolt karakterláncok azonosítóként jelennek meg a programban. Azonban majdnem teljesen tudsz óvakodni a fenti karakterkódolások használatától ha beállítod az mbstring átlátszó kódolási szűrő függvényeit a bejövő HTTP kérésekre.
Note: Az SJIS, BIG5, CP936, CP949 és GB18030 kódolások használata belső kódolásként ellenjavallt hacsak nem jól ismered az elemzőt, a vizsgálót és a karakterkódolást.
Note: Ha egy adatbázishoz csatlakozol PHP-val, ajánlott, hogy ugyanazt a karaterkódolást használd az adatbázison, ami a belső karaterkódolás (internal encoding) a könnyű haszálat és a jobb teljesítmény érdekében.
Ha PostgreSQL-t használsz, az adatbázison használt karakterkódolás és a PHP-ban használt különbözhet, mivel támogatja az automatikus karakterkészlet-átalakítást a back-end és a front-end között.
Telepítés
Az mbstring nem alapértelmezett kiterjesztés. Ez azt jelenti, hogy alapértelmezettként nincs bekapcsolva. A modult bekapcsolhatod a configure opcióval. Lást a Telepítés és beállítás szekciót részletekért.
A következő opciók kapcsolódnak az mbstring modulhoz.
-
--enable-mbstring: Engedélyezi az mbstring függvényeket. Ez az opció szükséges az mbstring függvények használatához.
A libmbfl szükséges az mbstring használatához. A libmbfl-t tartalmazza az mbstring. Ha a libmbfl már telepítve van a rendszereden, megadhatod a --with-libmbfl[=DIR] opciót a telepített könyvtár használtához.
A PHP 4.3.0 óta azmbstring kiterjesztés erősített támogatást nyújt az egyszerűsített kínai, hagyományos kínai, koreai, orosz és japán nyelvhez.
PHP 4.3.3-ban és a korábbi verziókban megadható volt az --enable-mbstring=LANG opció LANG paraméterében, hogy mely nyelveket használhaták a függvények; --enable-mbstring=cn egyszerűsített kínai támogatásért, --enable-mbstring=tw hagyományos kínai támogatásért, --enable-mbstring=kr koreai támogatásért, --enable-mbstring=ru orosz támogatásért és --enable-mbstring=ja japán támogatásért (alapértelmezett). Az összes támogatott kódolás használatához használdd az --enable-mbstring=all opciót.
Note: A PHP 4.3.4-től az összes libmbfl által támogatott kódolás engedélyezve lesz a --enable-mbstring használatákor.
-
--enable-mbstr-enc-trans : Engedélyezi a HTTP bemeneten az automatikus karakterkódolás-átalakítást az mbstring átalakító motorjával. Ha ez a tulajdonság engedélyezve van, a HTTP bemeneti karakterkódolás automatikus át lesz alakítva a mbstring.internal_encoding kódolásra.
Note: PHP 4.3.0-ban --enable-mbstr-enc-trans opció eltávolításra került, és helyette az mbstring.encoding_translation futásidejú opcióban adható meg a kódolás. A HTTP bemeneti karakterkódolás engedélyezve lesz, ha értéke On (az alapértelmezett érték Off).
-
--disable-mbregex: Letiltja a reguláris kifejezéseket használó függvények használatát többájtos karakterláncokkal.
Futásidejű beállítások
Az alábbi függvények viselkedése befolyásolható a php.ini segítségével.
Név | Alapértelemezett érték | Változtatható | Changelog |
---|---|---|---|
mbstring.language | "neutral" | PHP_INI_PERDIR | Elérhető PHP 4.3.0. óta |
mbstring.detect_order | NULL | PHP_INI_ALL | Elérhető PHP 4.0.6. óta |
mbstring.http_input | "pass" | PHP_INI_ALL | Elérhető PHP 4.0.6. óta |
mbstring.http_output | "pass" | PHP_INI_ALL | Elérhető PHP 4.0.6. óta |
mbstring.internal_encoding | NULL | PHP_INI_ALL | Elérhető PHP 4.0.6. óta |
mbstring.script_encoding | NULL | PHP_INI_ALL | Elérhető PHP 4.3.0. óta |
mbstring.substitute_character | NULL | PHP_INI_ALL | Elérhető PHP 4.0.6. óta |
mbstring.func_overload | "0" | PHP_INI_PERDIR | PHP_INI_SYSTEM-ben volt PHP 4.2.3-ban és előtte. Elérhető PHP 4.2.0. óta |
mbstring.encoding_translation | "0" | PHP_INI_PERDIR | Elérhető PHP 4.3.0. óta |
mbstring.strict_detection | "0" | PHP_INI_ALL | Elérhető PHP 5.1.2. óta |
A témába vágó konfigurációs direktívák rövid leírása
- mbstring.language string
-
Az alapértelmezett nyelvi beállítás (NLS) amit az mbstring-nek kell használnia. Tarts fejben, hogy ez opció automatikus definiálja az mbstring.internal_encoding-ot, és az mbstring.internal_encoding-ot az mbstring.language után kell elhelyezni a php.ini-ben.
- mbstring.encoding_translation boolean
-
Engedélyezi az átlátszó karakterkódolási szűrőt a bejövő HTTP kérésekre, ami végrehajtja a bemeni karakterkódolás felismerését és átkonvertálását a belső karakterkódolásra.
- mbstring.internal_encoding string
-
Definiálja az alapértelmezett belső karakterkódolást.
- mbstring.http_input string
-
Definiálja az alapértelmezett HTTP bemeneti karakterkódolást.
- mbstring.http_output string
-
Definiálja az alapértelmezett HTTP kimeneti karakterkódolást.
- mbstring.detect_order string
-
Definiálja az alapértelmezett karakterkód felismerési sorrended. Lásd még az mb_detect_order() függvényt.
- mbstring.substitute_character string
-
Definiálja az a karaktert, amit a helytelentelenül kódolt karakterek helyére kell behelyettesíeni.
- mbstring.func_overload string
-
Felülírja az egybájtos karakterkódolású függvények egy halmazát az mbstring megfelelőjükkel. Lásd a Függvény feülírás szekciót további információkért.
- mbstring.strict_detection boolean
-
Engedélyezi a szigorú kódolás felismerést.
A » HTML 4.01 specifikáció szerint a webböngészők átkonvertálhatják a küldés alatt álló űrlap adatait az oldal karakterkódolásától eltérő kódolásba. Lásd az mb_http_input() függvényt a böngésző által használt kódolás megállapítására.
Habár a népszerű böngészők alkalmasak kitalálni a kódolását az adott HTML dokumentumnak, mégis jobb, ha a Content-Type HTTP fejléc charset paraméterében megadjuk a kódolást a header() függvény segítségével, vagy beállítjuk a default_charset ini beállításban.
Example#1 php.ini beállítási példák
; Alapértelmezett nyelv beállítása mbstring.language = Neutral; Alapértelmezett nyelv beállítása Neutral(UTF-8)-ra (alapértelmezett) mbstring.language = English; Alapértelmezett nyelv beállítása angolra mbstring.language = Japanese; Alapértelmezett nyelv beállítása japánra ;; Alapértelmezett belső kódolás beállítása ;; Megjegyzés: Csak olyan kódolást adj meg, ami biztosan működik a PHP-ban mbstring.internal_encoding = UTF-8 ; Belső karakterkódolás beállítása UTF-8-ra ;; A HTTP bemeneti kódolás átalakítása engedélyezett. mbstring.encoding_translation = On ;; Alapértelmezett HTTP bemeneti karakterlódolás beállítása ;; Megjegyzés: A programból nem változtatható meg a http_input beállítás. mbstring.http_input = pass ; Nincs átalakítás. mbstring.http_input = auto ; HTTP bemenet kódolásának beállítása automatikusra ; az "auto" "ASCII,JIS,UTF-8,EUC-JP,SJIS"-sel lesz helyettesítve mbstring.http_input = SJIS ; HTTP2 bemeneti kódolás átállítása SJIS-re mbstring.http_input = UTF-8,SJIS,EUC-JP ; Sorrend megadása ;; Alapértelmezett HTTP kimeneti karakterkódolás beállítása mbstring.http_output = pass ; Nincs átalakítás mbstring.http_output = UTF-8 ; Alapértelmezett HTTP kimeneti kódolás átállítása UTF-8-ra ;; Alapértelmezett karakterkódolás megállapítási sorrend megadása mbstring.detect_order = auto ; Megállapítási sorrend beállítása auto-ra mbstring.detect_order = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Sorrend megadása ;; Alapértelmezett behelyettesítő karakter megadása mbstring.substitute_character = 12307 ; Unicode érték megadása mbstring.substitute_character = none ; Ne írjon ki karaktert mbstring.substitute_character = long ; Long példa: U+3000,JIS+7E7E
Example#2 php.ini beállítás EUC-JP felhasználóknak
;; Kimeneti pufferelés tiltása output_buffering = Off ;; HTTP fejléc karakterkészlet megadása default_charset = EUC-JP ;; Alapértelmezett nyelv beállítása japánra mbstring.language = Japanese ;; A HTTP bemeneti kódolás átalakítása engedélyezett. mbstring.encoding_translation = On ;; HTTP input encoding conversion to auto mbstring.http_input = auto ;; Convert HTTP output to EUC-JP mbstring.http_output = EUC-JP ;; Set internal encoding to EUC-JP mbstring.internal_encoding = EUC-JP ;; Do not print invalid characters mbstring.substitute_character = none
Example#3 php.ini setting for SJIS users
;; Enable Output Buffering output_buffering = On ;; Set mb_output_handler to enable output conversion output_handler = mb_output_handler ;; Set HTTP header charset default_charset = Shift_JIS ;; Set default language to Japanese mbstring.language = Japanese ;; A HTTP bemenet kódálásának átalakítása automatikus mbstring.http_input = auto ;; Átalakítás SJIS-re mbstring.http_output = SJIS ;; Belső kódolás beállítása EUC-JP-re mbstring.internal_encoding = EUC-JP ;; Ne írjon ki helytelen karaktereket mbstring.substitute_character = none
Erőforrás típusok
Ez a kiterjesztés semmilyen erőforrás típust nem definiál.
Előre definiált állandók
Az itt listázott állandókat ez a kiterjesztés definiálja, és csak akkor elérhetőek, ha az adott kiterjesztés be van fordítva a PHP-be, vagy dinamikusan betöltött.
HTTP bemenet és kimenet
A HTTP bemenet/kimenet karakterkódolás-átalakítás bináris adatot is átalakíthat. A felhasználók dolga, hogy gondoskodjanak a karakterkódolások közötti átalakításról, ha bináris adatot használnak HTTP bemenet/kimenetnél.
Note: A PHP 4.3.2-ben vagy korábbi verziókban korlátozva volt a funkcionalitásban az, hogy az mbstring nem hajtott végre automatikus karakterkészlet-átalakítást a POST adatban ha az enctype attribútuma a form elembet multipart/form-data-ra volt állítva. Tehát ebben az esetben neked kell az érkező adatokat szükség esetén konvertálni.
A PHP 4.3.3-tól ha az enctype értéke a HTML űrlapban multipart/form-data és az mbstring.encoding_translation be van kapcsolva a php.ini-ben (értéke On), akkor a POST adatként küldött változók és a feltöltött fájlok neve át lesz alakítva a belső karakterkódolásra. Azonban a konverzió nem fog hatni a lekérdezési kulcsokra.
-
HTTP bemenet
Semmilyen módon nem lehet kezelni a HTTP bemenet karaterátalakítását PHP programból. A HTTP bemenet karakterátalakítását a php.ini-ben lehet kikapcsolni.
Example#4 HTTP bemenet átalakítás kikapcsolása a php.ini-ben
;; HTTP bemeneti átalakítás kikapcsolása
mbstring.http_input = pass
;; HTTP bemeneti átalakítás kikapcsolása (PHP 4.3.0 vagy újabb)
mbstring.encoding_translation = OffHa a PHP Apache modulként van beállítva, lehetséges, hogy felülírd ezeket a beállításokat minden Virtual Host direktívában felülírd a httpd.conf-ban vagy könyvtáranként .htaccess fájlokkal. További részletekért lásd a Futásidejű beállítások szekciót és az Apache kézikönyvet.
-
HTTP kimenet
Több módja van a kimeneti karakterkódolás-átalakítás engedélyezésének. Van olyan, ami a php.ini-t használja, míg egy másik az ob_start() függvényt az mb_output_handler()-rel az ob_start callback függvényeként.
Note: A PHP3-i18n felhasználóknak figyelembe kell venniük hogy az mbstring kimeneti konverziói különböznek a PHP-i18n-étől. A karakterkódolás a kimeneti puffer segítségével történik meg.
Example#5 php.ini beállítási példa
;; Kimeneti karakterkódolás-átalakítás engedélyezése az összes PHP oldalra ;; Kimeneti pufferelés engedélyezése output_buffering = On ;; Az mb_output_handler függvény beállítása a kimeneti átalakítás engedélyezéséhez output_handler = mb_output_handler
Example#6 Szkript példa
<?php
// Kimeneti karakterkódolás-átalakítás engedélyezése csak erre a lapra
// HTTP kimenet karakterkódolásának átállítása SJIS-re
mb_http_output('SJIS');
// Kimeneti pufferelés megkezdése és az "mb_output_handler"
// megadás callback függvényként
ob_start('mb_output_handler');
?>
Támogatott karakterkódolások
Jelenleg a következő karakterkódolásokat támogatja az mbstring modul. E kódolások bármelyike megadható kódolás (encoding) paraméterként az mbstring függvényekben.
A következő karakterkódolásokat támogatottak ebben a PHP kiterjesztésben:
- UCS-4
- UCS-4BE
- UCS-4LE
- UCS-4LE
- UCS-2
- UCS-2BE
- UCS-2LE
- UTF-32
- UTF-32BE
- UTF-32LE
- UTF-16
- UTF-16BE
- UTF-16LE
- UTF-7
- UTF7-IMAP
- UTF-8
- ASCII
- EUC-JP
- SJIS
- eucJP-win
- SJIS-win
- ISO-2022-JP
- JIS
- ISO-8859-1
- ISO-8859-2
- ISO-8859-3
- ISO-8859-4
- ISO-8859-5
- ISO-8859-6
- ISO-8859-7
- ISO-8859-8
- ISO-8859-9
- ISO-8859-10
- ISO-8859-13
- ISO-8859-14
- ISO-8859-15
- byte2be
- byte2le
- byte4be
- byte4le
- BASE64
- HTML-ENTITIES
- 7bit
- 8bit
- EUC-CN
- CP936
- HZ
- EUC-TW
- CP950
- BIG-5
- EUC-KR
- UHC (CP949)
- ISO-2022-KR
- Windows-1251 (CP1251)
- Windows-1252 (CP1252)
- CP866 (IBM866)
- KOI8-R
Bármely php.ini bejegyzés, megy elfogad karakterkódolás nevet felveheti az "auto" és "pass" értékeket. Azon mbstring függvényeknél, melyek paraméterként kódolást is kaphatnak, a kódolás értéke lehet is "auto".
Ha "pass" van megadva, nem lesz karakterkódolás-átalakítás.
Ha "auto" van megadva, akkor azoknak a kódolásoknak a listáját veszi fel, ami az NLS-ben van megadva. Tehát ha az NLS értéke Japanese, akkor az érték "ASCII,JIS,UTF-8,EUC-JP,SJIS" lesz.
Lásd még: mb_detect_order()
Függvény felülírási tulajdonság
Gyakran nehéznek találhatod egy olyan PHP alkalmazás írását, ami működik többájtos környezetben. Ez azért van, mert a legtöbb PHP alkalmazás az alapvető karakterkezelő függvényeket, mint a substr() használja, amelyekről tudjuk, hogy rosszul kezelik a többájtos kódolású karakterláncokat.
Az mbstring támogatja az alapvető függvények felülírását, ami lehetővé teszi, hogy multibyte képessé tedd a programot a forráskód módosítása nélkül azzal, hogy az alapvető függvényeket felülírja a PHP a többájtos megfelelőjükkel. Például az mb_substr() hívódik meg a substr(), ha a felülírás engedélyezve van. Ez a tulajdonság könnyen áthelyezhetővé teszi többájtos kódolású környezetbe, azokat az alkalmazásokat, melyek csak egybájtos kódolásokat támogatnak.
A függvény felülírás használatához a mbstring.func_overload bejegyzést kell módosítani a php.ini-ben pozitív értékké, amiben a bitek képviselik a felülírandó függvényeket. Ennek az 1 értéket kell felvenni, ha a mail() függvényt szeretnéd felülírni. 2-tőt a karakterlánc függvényekhez, és 4-et a reguláris kifejezéseket használó függvényekhez. Például ha a bejegyzés értéke 7, a levelező, karakterlánc és reguláris kifejezéseket használó függvények is felül lesznek írva. A felülírható függvények listája látható lejjebb.
mbstring.func_overload értéke | eredeti függvény | felülíró függvény |
---|---|---|
1 | mail() | mb_send_mail() |
2 | strlen() | mb_strlen() |
2 | strpos() | mb_strpos() |
2 | strrpos() | mb_strrpos() |
2 | substr() | mb_substr() |
2 | strtolower() | mb_strtolower() |
2 | strtoupper() | mb_strtoupper() |
2 | substr_count() | mb_substr_count() |
4 | ereg() | mb_ereg() |
4 | eregi() | mb_eregi() |
4 | ereg_replace() | mb_ereg_replace() |
4 | eregi_replace() | mb_eregi_replace() |
4 | split() | mb_split() |
Note: Nem ajánlott a függvényfelülírás használata könyvtárankénti tartalomban, mivel még nincs megerősítve, hogy elég stabil-e éles környezetben és nem vezethet-e váratlan viselkedéshez.
A japán többájtos kódolások alapjai
A japán karaktereket csak többájtos kódolásokkal lehet megjeleníteni, és a többfajta kódolás használata függ a platformtól és a szöveg céljától. Hogy a probléma még bonyolultabb legyen, ezek a kódolások alig térnek el egymástól. Azért, hogy egy webalkalmazás használható legyen japán környezetben is, a fejlesztőnek ezeket a bonyolultságokat fejben kell tartani, hogy biztosísta, hogy a megfelelő karakterkódolást használják.
- Egy karakter tárolása akár hat bájtot is igénybe vehet
- A legtöbb japán többájtos karakter kétszer olyan szélesen jelenik meg, mint az egybájtos karakterek. Ezek a karakterek japánul az ún. "zen-kaku" karakterek, ami azt jelenti, hogy "teljes szélesség". Azonban másik, véknyabb karakterek is léteznek, melyek neve "han-kaku", jelentése "feleakkora szélesség". A grafikai tulajdonságai ezeknek a karaktereknek még függenek a megjelenítéshez használt betűtípustól is.
- Néhány karakterkódolás levédési (perjel) szekvenciákat használ, ahogy azt az ISO-2022 megszabja, hogy átváltsa a kódtáblát a specifikus kódtartományba (00h-7fh).
- Az ISO-2022-JP kódolást kellene haszálni SMTP/NNTP szervereken, és a fejléceket (header) és entitásokat újra kellene kódolni az RFC követelmények szerint. Habár ezek nem követelmények, még mindig jó ötlet, mivel több népszerű böngésző nem tudja felismerni bármely más kódolást.
- Moboltelefon szolgáltatásoknak készített honlapokon, mint az » i-mode, a » Vodafone live!, vagy az » EZweb feltehetően Shift_JIS használnak.
Referenciák
Többájtos karakterkódolási sémák és a kapcsolódó hibák egészen komplikáltak, és a dokumentáció hatáskörén kívül esnek. Kérlek lást a következő URL-eket és egyéb forrásokat további információért ebben a témában.
-
Unicode anyagok
-
Japán/koreai/kínai karakterkódolási információk
Summaries of supported encodings
Table of Contents
- mb_check_encoding — Check if the string is valid for the specified encoding
- mb_convert_case — Perform case folding on a string
- mb_convert_encoding — Convert character encoding
- mb_convert_kana — Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
- mb_convert_variables — Convert character code in variable(s)
- mb_decode_mimeheader — Visszakódolja a MIME fejléc mezőt karakterlánccá
- mb_decode_numericentity — Decode HTML numeric string reference to character
- mb_detect_encoding — Detect character encoding
- mb_detect_order — Set/Get character encoding detection order
- mb_encode_mimeheader — A karakterláncot MIME fejléccé kódolja át
- mb_encode_numericentity — Encode character to HTML numeric string reference
- mb_ereg_match — Regular expression match for multibyte string
- mb_ereg_replace — Replace regular expression with multibyte support
- mb_ereg_search_getpos — Returns start point for next regular expression match
- mb_ereg_search_getregs — Retrieve the result from the last multibyte regular expression match
- mb_ereg_search_init — Setup string and regular expression for multibyte regularexpression match
- mb_ereg_search_pos — Return position and length of matched part of multibyte regular expression for predefined multibyte string
- mb_ereg_search_regs — Returns the matched part of multibyte regular expression
- mb_ereg_search_setpos — Set start point of next regular expression match
- mb_ereg_search — Multibyte regular expression match for predefined multibyte string
- mb_ereg — Regular expression match with multibyte support
- mb_eregi_replace — Replace regular expression with multibyte support ignoring case
- mb_eregi — Regular expression match ignoring case with multibyte support
- mb_get_info — Get internal settings of mbstring
- mb_http_input — Detect HTTP input character encoding
- mb_http_output — Set/Get HTTP output character encoding
- mb_internal_encoding — Beállítja/kinyeri a belső karakterkódolást
- mb_language — Set/Get current language
- mb_output_handler — Callback function converts character encoding in output buffer
- mb_parse_str — Parse GET/POST/COOKIE data and set global variable
- mb_preferred_mime_name — Get MIME charset string
- mb_regex_encoding — Returns current encoding for multibyte regex as string
- mb_regex_set_options — Set/Get the default options for mbregex functions
- mb_send_mail — Send encoded mail
- mb_split — Split multibyte string using regular expression
- mb_strcut — Get part of string
- mb_strimwidth — Get truncated string with specified width
- mb_stripos — Finds position of first occurrence of a string within another, case insensitive
- mb_stristr — Finds first occurrence of a string within another, case insensitive
- mb_strlen — Kinyeri a karakterlánc hosszát
- mb_strpos — Find position of first occurrence of string in a string
- mb_strrchr — Finds the last occurrence of a character in a string within another
- mb_strrichr — Finds the last occurrence of a character in a string within another, case insensitive
- mb_strripos — Finds position of last occurrence of a string within another, case insensitive
- mb_strrpos — Find position of last occurrence of a string in a string
- mb_strstr — Finds first occurrence of a string within another
- mb_strtolower — Egy karakterláncot kisbetűssé alakít
- mb_strtoupper — Egy karakterláncot nagybetűssé alakít
- mb_strwidth — Return width of string
- mb_substitute_character — Set/Get substitution character
- mb_substr_count — Count the number of substring occurrences
- mb_substr — Get part of string