我有一个显示某些人姓名的页面,因此用户可以点击并查看相关帖子。
问题在于名称中包含'
或.
的人或任何其他特殊字符。
要创建网址,我需要删除此字符:
Marie E.A
Josh O'Reilly
php创建链接:
$categorialink = strtolower($categoria);
$categorialink = str_replace(' ', '_', $categorialink);
$categorialink = preg_replace('/[^A-Za-z0-9\_-]/', '', $categorialink);
将成为:
www.mypage.com/person/marie_ea
www.mypage.com/person/josh_oreilly
问题是从mysql获取这个值,Mysql记录名称(Marie E.A)并且我不能回到原始人的名字。 mysql LIKE可以提供帮助,但可以通过选择类似的东西打开另一个人页面,例如:Marie E.B而不是Marie E.A。
$categoryp = $_GET['categoria'];
$category = str_replace("_", " ", $categoryp);
SELECT id, categoria FROM categoria where categoria = 'marie ea' limit 1 //$category value - return nothing
如何解决这个问题?
答案 0 :(得分:1)
只需使用urlencode ()
即可。这将仅通过替换字母而不是删除字母来翻译字符串。稍后,如果您需要获取以前的名称,请使用rawurldecode()
。