【发布时间】:2014-05-03 18:20:34
【问题描述】:
所以,我在这个网站上看到了大量的“解决方案”,但似乎没有一个完全适合我。我想从帖子名称中删除 all 标点符号,以便系统可以为每个帖子动态创建 url。我找到了 David Walsh 的一篇文章,其中提供了关于如何实现这一点的分步教程。然而,并不是所有的东西都被剥夺了。这是文章的链接(以防万一):http://davidwalsh.name/php-seo。
这是我为删除所有标点符号而修改的代码:
$return = trim(preg_replace('/[^a-z0-9]+/i'," ", strtolower($post_name)));
这是一个示例帖子名称:Testing's, this & more!
回显 url 时的结果:testing-039-s-this-amp-more.php
我不确定为什么要保留 & 和单引号的 html 代码。有什么想法吗?!?
【问题讨论】:
-
如何查找:
'/\pP+/u',替换''? -
是的,看起来实体正在被翻译。但是为什么是039?在你 preg 之前尝试在 $post_name 上进行调试打印。