背景:我正在创建一个分层地理目录。我使用的地理数据库具有以下字段:我可以创建如下的URL: / ISO_country / 1st_admin_division / 2nd_admin_division / PLACE_NAME /邮编/
ISO_country,place_name和zipcode保证拥有数据。但第一和第二管理部门可能有也可能没有数据。
在美国我有/美国/纽约/拿骚县/希克斯维尔/ 51212 / 但在南非,我有/ ZA / [空白] / [空白] /比勒陀利亚/ 0030 /
如果我选择(丑陋)/ ZA ///比勒陀利亚/ 0030 /这是一个有效的网址吗?还有丑陋的/ ZA / - / - /比勒陀利亚/ 0030 /?
任何主流浏览器都能获得智能"并尝试消除这样的事情?
答案 0 :(得分:2)
答案 1 :(得分:1)
为什么不使用可选参数模型?这两个URL看起来都可行且易于解析:
/ZA/Pretoria/0030
/US/New-York/Nassau-County/Hicksville/51212/
而且,只是为了在工作中抛出一个泡菜:
/AU/Victoria/Melbourne/3000
如果你知道你的第一个,倒数第二个和最后一个项目总是有价值,为什么不选择第一个,然后向后解析你的URL令牌?
# rubyish pseudocode
tokens = "/AU/Victoria/Melbourne/3000".split("/")
iso_country = tokens[0]
tokens.reverse!
tokens.drop_last_item!
zipcode = tokens[0] # => 3000
place_name = tokens[1] # => Melbourne
admin_division_2 = tokens[2] # => Victoria
admin_division_1 = tokens[3] # => nil / ""