如何去掉字符串中的空格

时间:2015-04-18 22:01:09

标签: php

我正在使用人们可以订购产品的表格。 产品的变量之一是:

$product1 = 'Baguette Cheese';

我在这样的形式中使用这个变量:

<td><?php echo $product1 ?></td>
<td>&euro; <?php echo number_format($prijs[$product1], 2); ?></td>
<td><input type="text" name="<?php echo $product1 ?>" size="3" /></td>

这样做,我无法读取名称attrib。使用$ _POST因为 Baguette 奶酪之间有空格

这确实有效:

$product1 = 'Cheese-Burger';

但是在第一个 td 中显示了Cheese-Burger,我不想在它之间使用连字符。 所以我认为:将连字符放在一边,并删除名称中的空格,如下所示:

<td><input type="text" name="<?php echo str_replace(' ', '', $product1) ?>" size="3" /></td>

不幸的是,这不起作用,他无法阅读$ _POST。

如何在不使用 Baguette 奶酪之间的连字符或下划线的情况下完成此项工作?

提交时:

if($_SERVER['REQUEST_METHOD'] == 'POST') 
{
echo $_POST[$product1]; // no result   
}

2 个答案:

答案 0 :(得分:1)

  

不幸的是,这不起作用,他无法阅读$ _POST。

你没有回应str_replace

<td><input type="text" name="<?php str_replace(' ', '', $product1) ?>" size="3" /></td>

更改为:

<td><input type="text" name="<?php echo str_replace(' ', '', $product1) ?>" size="3" /></td>

阅读评论后更新:

  

为什么要为form input name提供产品名称   只是product1?然后你可以使用$_POST['product1']得到它;   。表单代码没有意义。

请改为尝试:

<td><?php echo $product1 ?></td>
<td>&euro; <?php echo number_format($prijs[$product1], 2); ?></td>
<td><input type="text" name="product1" size="3" /></td>

然后使用:

获取$_POST
$_POST['product1']

答案 1 :(得分:-1)

你可以这样做:

$product1 = 'Baguette Cheese';

$test = explode(" ", $product1);

这将生成一个数组:

["Baguette","Cheese"]

然后:

$nowhitespace = $test[0] . $test[1];

or

$nowhitespace = implode("", $test);