下面是一个中文字符串示例:
"最初 , 上帝 创造 了 天地 。 2 大地 混沌 苍茫 , 深渊 的 表面 一 片 黑暗 。 "
如何将其分解为类似于此的数组?:
Array
(
[0] => 最初 , 上帝 创造 了 天地 。 2 大地 混沌 苍茫 , 深渊 的 表面 一 片 黑暗 。
[1] => 2 大地 混沌 苍茫 , 深渊 的 表面 一 片 黑暗 。
)
我试过但失败了:
$array = mb_split('。', $string);
echo "<pre>";
print_r($array);
我明白了:
Array
(
[0] => 最初 , 上帝 创造 了 天地 。 2 大地 混沌 苍茫 , 深渊 的 表面 一 片 黑暗 。
)
附注:字符集是GB18030。
,我找到了更多的信息。中国时期被称为句号。html转义是。
和 。
**.。GB18030十六进制字节是a1a3。Unicode字符是“表意句号”(U+3002)。我怎样才能用这两种方法来实现我的目标?**
发布于 2012-11-15 12:47:57
我之所以需要在gb18030中这样做,是因为我使用的库(dedesplit)在转换为utf-8时无法工作。图书馆是中文分词器。我联系了开发人员,他告诉我一个新的在utf-8 (http://www.itgrass.com/phpanalysis/index.html)中工作的开发人员。我已经测试过它,它正确地爆炸了以中文句号(或“句号”)作为分隔符的段落。
附注:在找到这个新图书馆之前,我已经决定写我自己的爆炸函数。我认为这可能有效,但我没有做任何测试。
发布于 2012-11-14 21:11:38
试试这个:
$array = explode(chr(227), $string);
更新:
修复explode
的字符
foreach($array as $part) {
echo str_replace(array(chr(128).chr(130)), '', $part);
echo '<br>';
}
发布于 2012-11-14 21:34:01
不如你试试
$array =爆炸(‘.’)、$string);
这对我使用命令行是有效的。
输出:数组( =>最初,上帝创造了天地1 => 2大地混沌苍茫,深渊的表面一片黑暗2 => )
)
https://stackoverflow.com/questions/13387239
复制相似问题