爆炸不适用于部分符号“§”

时间:2014-10-20 15:31:08

标签: php

我有一个从MSSQL数据库返回的字符串,该字符串由部分符号“§”分隔。我需要在每个部分符号中将其拆分,但是在这种情况下爆炸将不起作用。这可能与字符编码有关吗?

$stringFromDB = "259354§261016§266618";
$stringArray = explode("§", $stringFromDB);

这应该给我一个包含3个项目的数组,但是,数据库字符串中的部分符号不匹配(即使它们在那里),因此,爆炸不起作用。如果我echo()$ stringFromDB的内容,那么部分符号就在那里。我也尝试用str_replace()替换部分符号,这也不起作用!这毫无意义!

2 个答案:

答案 0 :(得分:0)

explode()无法保留您正在“爆炸”的内容。如果您希望保留符号,请改为使用preg_split()

$stringArray = preg_split("/§/", $stringFromDB, -1, PREG_SPLIT_DELIM_CAPTURE );
                                                 ^^^^^^^^^^^^^^^^^^^^^^^^

答案 1 :(得分:0)

问题最终是.php文件的编码导致节标志不匹配。一旦我更改了文件的编码类型,脚本就可以正常工作了。