空格自动替换为下划线

时间:2015-10-04 09:48:42

标签: php html forms

我的输入字段中有以下php代码:

<input type="submit" name='<?php echo $row["date"];?>' value="send">

var_dump($row["date"])显示数据是这样的字符串:

string '2015-10-03 19:01:47' (length=19)

为什么然后,当我发布此表单时,空格会自动替换为下划线,我该如何避免?

var_dump($_POST)

array (size=1)
'2015-10-03_19:01:47' => string 'send' (length=4)

2 个答案:

答案 0 :(得分:1)

我该如何避免?

您可以使用str_replace来获得所需的行为:

<?php
$send = '2015-10-03_19:01:47';
echo str_replace("_"," ",$send);
?>

<强>输出:

2015-10-03 19:01:47

PHP Manual: str_replace

答案 1 :(得分:1)

正如@arkascha在他的评论中所解释的那样。

  

ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“_”),冒号(“:”)和句号(“。”)。

因此不可能将空格作为名称。你问过怎么避免这个?简单,只是不要使用日期作为输入的名称。您可以使用隐藏输入字段来保存日期值。

<input type="hidden" name='date' value='<?php echo $row["date"];?>'>
<input type="submit" name='submit' value="send">

或者,您可以使用<button>

<button type="submit" name="submit" value="<?php echo $row["date"]; ?>">Submit</button>