【问题标题】:exclamation mark in urlurl中的感叹号
【发布时间】:2011-05-05 04:56:02
【问题描述】:

我正在建立一个论坛,网址包含您要查看的主题的标题。但如果它包含一个!然后它会引发 404 错误。我知道 ASCII 字符!是 %21,我假设 urlencode() 会改变!到 %21 但它没有。当我点击链接时,网址仍然包含!这是破坏网址。有什么建议吗?

【问题讨论】:

标签: php .htaccess url


【解决方案1】:

我建议您将要在 url 中使用的标题规范化,以使其安全使用并保持对用户的可读性。

$normalizedTitle = trim(preg_replace('/[^a-z0-9]+/', '-', strtolower($title)), '-');

这会将!TEST!/?TEST? 变成test-test,并将ASF is absolutely awesome! 变成asf-is-absolutely-awesome

【讨论】:

    猜你喜欢
    • 2013-08-13
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2012-11-01
    相关资源
    最近更新 更多