gpt4 book ai didi

php - 在 PHP 中将标题转换为 url 兼容模式的最佳方法?

转载 作者:行者123 更新时间:2023-12-03 00:39:55 25 4
gpt4 key购买 nike

http://domain.name/1-As Low As 10% Downpayment, Free Golf Membership!!!

上面的url会报400 bad request,

如何将此类标题转换为用户友好的请求?

最佳答案

您可能想使用“slug”来代替。您不使用逐字标题作为 URL,而是 strtolower()并将所有非字母数字字符替换为连字符,然后删除重复的连字符。如果您想要额外的积分,您可以删除 stopwords ,也是。

所以“1-首付低至 10%,免费高尔夫成员(member)!!!”变成:

低至 10 首付免金成员(member)

类似这样的事情:

function sluggify($url)
{
# Prep string with some basic normalization
$url = strtolower($url);
$url = strip_tags($url);
$url = stripslashes($url);
$url = html_entity_decode($url);

# Remove quotes (can't, etc.)
$url = str_replace('\'', '', $url);

# Replace non-alpha numeric with hyphens
$match = '/[^a-z0-9]+/';
$replace = '-';
$url = preg_replace($match, $replace, $url);

$url = trim($url, '-');

return $url;
}

您可能可以使用更长的正则表达式来缩短它,但它的原样非常简单。好处是,在数据库上运行查询以匹配标题之前,您可以使用相同的函数来验证查询参数,这样别人就无法将愚蠢的东西插入您的数据库中。

关于php - 在 PHP 中将标题转换为 url 兼容模式的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2234169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com