更新:请忽略此问题,似乎md5不是 返回结果,因为我通过filter_var传递了URL($ url, FILTER_SANITIZE_URL)看起来像FILTER_SANITIZE URL不起作用 对于外国人物。
我有一个问题,我想从网址获取哈希,例如
网址由用户以表格形式提供,所以我认为它已经是UTF-8,因为我的网站是UTF-8。
但是上面不能与md5()一起使用,因为它返回空结果。我可以知道我用什么PHP函数将它转换成下面可以使用md5()的东西吗?
https://ko.wikipedia.org/wiki/%EC%B6%94%EA%B0%84%ED%8C%90_%ED%83%88%EC%B6%9C%EC%A6%9D
我尝试过iconv,htmlspecialchar,htmlentities,我似乎无法找到合适的函数来转换字符串。
答案 0 :(得分:1)
您可以直接使用md5
对整个网址进行编码,如下所示:
echo md5('https://ko.wikipedia.org/wiki/추간판_탈출증');
其中输出为:
26eb333445f4e154f8ecb76e7c2ac858
更新:
按照w3schools FILTER_SANITIZE_URL
FILTER_SANITIZE_URL过滤器会从中删除所有非法网址字符 一个字符串。
此过滤器允许所有字母,数字和 !$ -_ + *'(),{} | \ ^〜[]'"><#%; /?@&安培; =
答案 1 :(得分:0)
您正在寻找的功能是rawurlencode
。但是,您必须提取要编码的网址部分,否则将对整个网址进行编码。
$encoded = rawurlencode('추간판_탈출증');
// value of $encoded is now '%EC%B6%94%EA%B0%84%ED%8C%90_%ED%83%88%EC%B6%9C%EC%A6%9D'
答案 2 :(得分:0)
使用urlencode(url)函数进行转换