我正在使用这种方法,转换我的市场网站网址,如
myexample.com/toys/boston // 1 word: Boston
myexample.com/toys/new-york // 2 words: New York
myexample.com/toys/ofallon // 2 words: O'Fallon
myexample.com/toys/ahualoa // 1 words: Āhualoa can be any accent
我希望能够将其转换回页面标题, 但到目前为止,我只是得到了“玩具在Ofallon”或“玩具在Ahualoa”
转换为安全网址的最佳做法是什么? 并能够恢复原来的正确名称
例如。 “Āhualoa的玩具”或“O'Fallon的玩具”
答案 0 :(得分:0)
你不能反向丢弃信息。如果您将è,é,ê,ë和e表示为e
,那么您无法知道原始数据是什么。
因此,您必须将信息存储在某处。数据库表将完成这项工作。
slug VARCHAR(255),
title VARCHAR(255)
......例如。
答案 1 :(得分:0)
您可以尝试使用urlencode()
和urldecode()
将所有字符转换为%引用并返回。
例如,如果您的城市是O'Fallon,它将转换为:
myexample.com/toys/O%27Fallon
这是一个安全的网址,但它并不是最漂亮的 - 例如,它不会转换为小写字符。 URL中支持UTF8,因此Āhualoa等内容可以保留原样。
要在PHP应用程序中进行解码,如果您通过O%27Fallon
运行urldecode()
,它将恢复为O'Fallon
。
您可以使用其他一些技巧来获取您喜欢的格式。例如,运行strtolower()
将城市转换为小写字符,然后ucwords()
将其恢复。并且可能将它str_replace()
组合起来用空格替换空格,反之亦然。