php $ _get从空格中删除+

时间:2016-03-21 06:13:56

标签: php get

我刚刚开始这个项目,PHP不是我的语言(对不起,如果这是一个愚蠢的问题!试过谷歌,但也许我正在寻找错误的东西)。

我正在尝试从GET获取数据并最终将其记录到mysql数据库

数据看起来像: http://127.0.0.1/index.php?foo=1&hello+this+is+my+name=bob

foreach ($_GET as $key => $value){
    echo "Key: $key Val: $value<br>" ;
}

这将输出:

Key: foo Val: 1
Key: hello_this_is_my_name Val: bob

当然这很好但是如何从$ key中删除+符号或下划线?

3 个答案:

答案 0 :(得分:1)

您可以使用php函数str_replace并在显示输出

之后
<?php
echo str_replace("_"," ",$key);
?>

<强>语法

str_replace(find,replace,string,count) 

答案 1 :(得分:1)

您可以使用str_replace将空格替换为下划线。像这样:

echo str_replace('_', ' ', $value);

但是,当然,这也将取代您可能想要保留的下划线。因此,更好的选择是urldecode()功能。

echo urldecode($value);

您可以详细了解here

答案 2 :(得分:0)

您可以使用preg_replace()从字符串中删除下划线(MyPoly= 7x^6*y^4 + 4x^4*y^5 - 8x^5*y^3 – 9x + 8)和加7 6 4 -> 4 4 5 -> -8 5 3 ->-9 1 0 -> 8 0 0 ->NULL符号:

示例字符串:

(_)

此模式(+)会将下划线和加号替换为空格$yourString = "This+is+my Testing_string_test"; $replace = preg_replace( '/[^a-zA-Z0-9]/', ' ', $yourString ); echo $replace; // This is my Testing string test