在输入搜索表单后将+添加到PHP字符串中

时间:2012-01-19 22:43:02

标签: php string forms search

可能是一个简单的问题,但我不是最好的PHP。

我先告诉你代码:

$prodTitle = $_GET['prodName'];

$html = file_get_html('http://www.play.com/Search.html?searchtype=allproducts&searchsource=0&searchstring='.$prodTitle.'');

希望你能理解我想要做的事情。在这种情况下, $ prodTitle 将是来自文本输入表单的关键字。但问题是我将 $ prodTitle 放入的网站不会在其搜索字符串中接受空格。

因此,如果我在哪里使用我的搜索表单搜索变形金刚框集,搜索将无效。目前我必须放入变形金刚+盒子+套装才能让它发挥作用。

有没有办法在“+”中添加而不必在我的搜索表单中添加它?

非常感谢任何帮助!

谢谢。

5 个答案:

答案 0 :(得分:7)

您可以使用urlencode()修复此问题:

$prodTitle = urlencode($_GET['prodName']);

文档:http://nl.php.net/urlencode

另外,确保它是安全的。永远不要相信用户的任何意见。

答案 1 :(得分:2)

在将任何空格添加到网址之前,您可以用'+'替换任何空格。

$prodTitle = str_replace(' ', '+', $_GET['prodName']);

答案 2 :(得分:1)

您可以使用urlencode()

功能
$prodTitle = $_GET['prodName'];
$html = file_get_html('http://www.play.com/Search.html?searchtype=allproducts&searchsource=0&searchstring='.urlencode($prodTitle).'');

答案 3 :(得分:1)

我认为你要求的是:

$searchTerm = str_replace( ' ', '+', $_GET['prodName'] );

http://us3.php.net/str_replace

答案 4 :(得分:0)

试试此代码

$prodTitle = urlencode(htmlspecialchars($_GET['prodName']));

希望它会有所帮助