【发布时间】:2014-03-07 06:39:35
【问题描述】:
我正在尝试将 php 变量作为分隔符传递给explode()。正在从 html 表单中获取变量的值。
表格:
<select name="delimiter">
<option value="\t">Tab Space</option>
<option value=",">Comma (,)</option>
<option value=";">Semi colon (;)</option>
<option value="&">Ampersand (&)</option>
<option value="|">Pipe (|)</option>
</select>
php:
$delimiter=$_POST['delimiter'];
$arr=explode($delimiter, $line);
以上似乎不起作用。它不识别分隔符,因此在 $arr 中给了我一个元素,即与 $line 相同。 任何建议将不胜感激。谢谢
【问题讨论】:
-
您是否尝试过在 $delimiter 爆炸前回显它?
-
如果你
var_dump$delimiter,你得到的期望值是字符串吗? -
是的,我有。如果我从表单中选择选项卡,它会给我“\t”,但它在分解功能中不起作用。如果我手动初始化 $delimiter="\t",然后将其传递给爆炸,它就可以正常工作。
-
是的,先生,我愿意。只是一个具有预期值的字符串。
-
\t在 html 中没有任何意义。您的 $_POST 值实际上是一个反斜杠和一个“t”,NOT 是一个制表符。但是,在 PHP 中,$var = "\t"将 被解释为制表符,因为这就是\t在双引号字符串中的含义。
标签: php html explode delimiter