|
mb_strpos
Find position of first occurrence of string in a string
(PHP 4 >= 4.0.6, PHP 5)
mb_strpos() returns the numeric position of
the first occurrence of needle in the
haystack string. If
needle is not found, it returns mb_strpos() performs multi-byte safe strpos() operation based on number of characters. needle position is counted from the beginning of the haystack. First character's position is 0. Second character position is 1, and so on. If encoding is omitted, internal character encoding is used. offset is search offset. If it is not specified, 0 is used. encoding is character encoding name. If it is omitted, internal character encoding is used. See also mb_strrpos(), mb_internal_encoding(), strpos() Code Examples / Notes » mb_strposstestagg
sorry, my previous post had an error. replace the 1000 with strlen($haystack) to handle strings longer than 1000 chars. btw. This is an issue with the mbstring functions. you can't specify the $encoding without specifying a $length, thus this reduces the functionality of mb_substr compared to substr zangaru
Hello, Just replaced strpos() with mb_strpos() and now I am getting following error: PHP Warning: mb_strpos() [<a href='function.mb-strpos'>function.mb-strpos</a>]: Empty delimiter PHP version: 5.2.3 OS: Win XP Prof Web Server: IIS I checked your bugs and mentioned that mb_string functions have been fixed as of 5.2.0 but it does not seem to be the case (Bug #39400). My code: ============================================== $charOut = mb_substr($tmpStr, $tmpKey[0], 1); $posOut = mb_strpos($charList, $charOut); if ($posOut !== FALSE) { // do something here } ============================================== stestagg
a sample mb_str_replace function: function mb_str_replace($haystack, $search,$replace, $offset=0,$encoding='auto'){ $len_sch=mb_strlen($search,$encoding); $len_rep=mb_strlen($replace,$encoding); while (($offset=mb_strpos($haystack,$search,$offset,$encoding))!==false){ $haystack=mb_substr($haystack,0,$offset,$encoding) .$replace .mb_substr($haystack,$offset+$len_sch,1000,$encoding); $offset=$offset+$len_rep; if ($offset>mb_strlen($haystack,$encoding))break; } return $haystack; } |
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 |