|
mb_substr
Get part of string
(PHP 4 >= 4.0.6, PHP 5)
mb_substr() returns the portion of str specified by the start and length parameters. mb_substr() performs multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of str. First character's position is 0. Second character position is 1, and so on. If encoding is omitted, internal encoding is assumed. encoding is character encoding. If it is omitted, internal character encoding is used. See also mb_strcut(), mb_internal_encoding(). Code Examples / Notes » mb_substrxiaogil
Thanks Darien from /freenode #php for the following example (a little bit changed). It just prints the 6th character of $string. You can replace the digits by the same in japanese, chinese or whatever language to make a test, it works perfect. <?php mb_internal_encoding("UTF-8"); $string = "0123456789"; $mystring = mb_substr($string,5,1); echo $mystring; ?> (I couldn't replace 0123456789 by chinese numbers for example here, because it's automatically converted into latin digits on this website, look : 零一二三四 五六七八九) gilv silvan
Passing null as length will not make mb_substr use it's default, instead it will interpret it as 0. <?php mb_substr($str,$start,null,$encoding); //Returns '' (empty string) just like substr() ?> Instead use: <?php mb_substr($str,$start,mb_strlen($str),$encoding); ?> drraf
Note: If borders are out of string - mb_string() returns empty _string_, when function substr() returns _boolean_ false in this case. Keep this in mind when using "===" comparisions. Example code: <?php var_dump( substr( 'abc', 5, 2 ) ); // returns "false" var_dump( mb_substr( 'abc', 5, 2 ) ); // returns "" ?> It's especially confusing when using mbstring with function overloading turned on. |
Change Languagemb_check_encoding mb_convert_case mb_convert_encoding mb_convert_kana mb_convert_variables mb_decode_mimeheader mb_decode_numericentity mb_detect_encoding mb_detect_order mb_encode_mimeheader mb_encode_numericentity mb_ereg_match mb_ereg_replace mb_ereg_search_getpos mb_ereg_search_getregs mb_ereg_search_init mb_ereg_search_pos mb_ereg_search_regs mb_ereg_search_setpos mb_ereg_search mb_ereg mb_eregi_replace mb_eregi mb_get_info mb_http_input mb_http_output mb_internal_encoding mb_language mb_output_handler mb_parse_str mb_preferred_mime_name mb_regex_encoding mb_regex_set_options mb_send_mail mb_split mb_strcut mb_strimwidth mb_stripos mb_stristr mb_strlen mb_strpos mb_strrchr mb_strrichr mb_strripos mb_strrpos mb_strstr mb_strtolower mb_strtoupper mb_strwidth mb_substitute_character mb_substr_count mb_substr |