我有一个从MSSQL数据库返回的字符串,该字符串由部分符号“§”分隔。我需要在每个部分符号中将其拆分,但是在这种情况下爆炸将不起作用。这可能与字符编码有关吗?
$stringFromDB = "259354§261016§266618";
$stringArray = explode("§", $stringFromDB);
这应该给我一个包含3个项目的数组,但是,数据库字符串中的部分符号不匹配(即使它们在那里),因此,爆炸不起作用。如果我echo()$ stringFromDB的内容,那么部分符号就在那里。我也尝试用str_replace()替换部分符号,这也不起作用!这毫无意义!
答案 0 :(得分:0)
explode()
无法保留您正在“爆炸”的内容。如果您希望保留符号,请改为使用preg_split()
:
$stringArray = preg_split("/§/", $stringFromDB, -1, PREG_SPLIT_DELIM_CAPTURE );
^^^^^^^^^^^^^^^^^^^^^^^^
答案 1 :(得分:0)
问题最终是.php文件的编码导致节标志不匹配。一旦我更改了文件的编码类型,脚本就可以正常工作了。