【问题标题】:How can I trim post with special characters in post method?如何在 post 方法中使用特殊字符修剪帖子?
【发布时间】:2014-07-19 03:30:30
【问题描述】:

如何在 post 方法中修剪带有特殊字符的帖子?

我的代码是:

    <?php
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    session_start();
    set_time_limit(0);

    if (isset($_GET['title'])){
    $title = $_GET['title'];
    } elseif (isset($_POST['title'])){
    $title = $_POST['title'];
    } else {
    print(json_encode(array("status" => 0)));
    exit();
    }

    if (!trim($title)){
    print(json_encode(array("status" => 0)));
    exit();
    }

    extract($_POST);
    ?>

例如帖子请求中的标题,将是这样的myscript.php?title=Pain &amp; Gain

当我用echo $title;输出时

我得到了这个Pain

没有&amp; Gain

【问题讨论】:

  • 您已经在encodeURIComponenturlencode() 的帮助下创建了您的网址。查看文档

标签: php arrays post trim


【解决方案1】:

如果您的表单方法已发布,那么问题将不存在。如果有get方法,我认为你会遇到这个问题。试试以下 -

<form>
<input type="text" name="a" />
<input type="submit" />
</form>

<?php
if(isset($_GET['a']) && !empty($_GET['a'])){
  echo urldecode($_GET['a']);
}
?>

【讨论】:

  • 感谢大家的宝贵时间,我通过在谷歌上搜索一整天来解决这个问题来解决这个问题......我所做的基本是 > $title = urldecode(str_replace('title=', '' , $_SERVER['QUERY_STRING']));
【解决方案2】:

使用函数url_encode

myscript.php?title=<?php echo url_encode("Pain & Gain")?>

并在收到请求时对其进行解码

$title = url_decode($_GET['title']);

我想这会解决你的问题。

【讨论】:

    猜你喜欢
    • 2014-07-31
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    相关资源
    最近更新 更多