PHP:unicode和多字节操作

时间:2012-05-24 23:50:38

标签: php character-encoding

我有一个韩国Unicode字符串(...입니다.<br /><br />소재...),我希望在<br>标签之间进行拆分。我愚蠢地使用常规字符串运算符,例如substr()strpos(),然后才意识到有mb_*()函数。我的内容如下所示。

$str = `...입니다.<br /><br />소재...`; 
$k = mb_strrpos($str, '<br /><br />');  // want the last match
$firstPortion = mb_substr($str, 0, $k);

然而,它似乎仍然无效。 $firstPortion最终成为整个原始字符串或原始字符串的一些随机部分。谁能发现我做错了什么?

1 个答案:

答案 0 :(得分:2)

那应该有用。那么,在你使用引号而不是shell_exec operator之后(注意你使用了后面的刻度`而不是单引号')

无论如何,常规字符串函数也应该工作,只要数据被编码为unicode,并且您要搜索的字符串只是ascii,而<br />是ascii。否则会出现某些编码可能出现的边缘情况。