gpt4 book ai didi

php - 如何将漂亮的页面标题转换为有效的 URL 字符串?

转载 作者:可可西里 更新时间:2023-10-31 23:03:40 28 4
gpt4 key购买 nike

想象一下任何给定语言(英语、阿拉伯语、日语等)的页面标题字符串包含 UTF-8 中的几个单词。示例:

$stringRAW = "Blues & μπλουζ Bliss's ブルース Schön";

现在这实际上需要转换为该页面 URL 的有效部分:

$stringURL = "blues-μπλουζ-bliss-ブルース-schön"

just check out this link这也适用于我的服务器!

Q1. What characters are allowed as valid URL these days? I remember having seen whol arabic strings sitting on the browser and i tested it on my apache 2 and all worked fine.

我猜它必须变成: $stringURL = "blues-blows-bliss-black"

Q2. What existing php functions do you know that encode/convert these UTF-8 strings correctly for URL ripping them off of any invalid chars?

我猜至少:1. 空格 应该转换成破折号 -
2.删除无效字符?他们是哪一个? @ 和 '&'?
3. 将所有字母转换为小写(或者大写字母在 url 中有效吗?)

谢谢:非常感谢您的建议!

最佳答案

这是我使用的解决方案:

$text = 'Nevalidní Český text';
$text = preg_replace('/[^\\pL0-9]+/u', '-', $text);
$text = trim($text, "-");
$text = iconv("utf-8", "us-ascii//TRANSLIT", $text);
$text = preg_replace('/[^-a-z0-9]+/i', '', $text);

URL 中的大写不是问题,但如果您希望文本为小写,则只需在末尾添加 $text = strtolower($text); :-)。

关于php - 如何将漂亮的页面标题转换为有效的 URL 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5222134/

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