【发布时间】:2020-10-30 16:39:50
【问题描述】:
我需要将一些字符串更改为对 SEO 友好的 slug。我想我很接近这个:
str_replace(array(" ", "&", "(", ")", ".", ",", " - ", "'"), array("-", ""), strtolower($str))
但是,我仍然遇到一些问题。这是当字符串有破折号或 & 时:
I & GN Hospital and Nurses' Quarters
产生i--gn-hospital-and-nurses-quarters 而不是期望的
i-gn-hospital-and-nurses-quarters
我还想在创建 slug 之前去掉 () 中包含的所有内容。例如:
Mary Kate Hunter (November 8, 1866 - April 15, 1945)
应该变成mary-kate-hunter
我想在创建 slug 之前,我需要先使用另一个 str_replace 来删除它,并且可能使用某种正则表达式。还是有更好的办法?
【问题讨论】:
-
这个问题已经回答[PHP函数创建slug](stackoverflow.com/questions/2955251/…)