0

我正在尝试使用explode将文本拆分为数组,但由于某种原因,当文本来自已发布的表单时,它不起作用。

如果我运行,explode('|§|', 'qwe|§|asd|§|zxc');我将得到一个数组,如:

Array  
(  
    [0] => qwe  
    [1] => asd  
    [2] => zxc  
)  

如果此输入文本来自一个表单,则定义如下:

<form method="post">
Input: <input type="text" name="query" size="50" value="qwe|§|asd|§|zxc"><input type="submit" value="Parse">
</form>

我得到以下数组:

Array  
(  
    [0] => qwe|§|asd|§|zxc  
)  

我猜这与iso设置有关,并且“查询”字段中的文本已以某种方式更改,但我不明白如何修复。我尝试过设置<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />和其他字符集,但无济于事。

有任何想法吗?提前致谢。

4

2 回答 2

4

只是一个想法: § 符号可能被转换为 url 格式。首先尝试 urldecode() 字符串。

于 2010-09-30T20:41:31.463 回答
0

我可能弄错了,但§可能是 PHP 尚不支持的 Unicode 字符。因此,从表单转移到脚本时可能会出现一些问题。

您是否尝试将其更改为更...正常的东西?就像你这样做qwe|~|asd|~|zxc了,或者qwe|+~+|asd|+~+|zxc你担心有人会进入什么

于 2010-09-30T20:43:39.867 回答