如何在wordpress中为post_name使用preg_replace函数?

时间:2016-04-12 02:36:18

标签: url preg-replace

$post_name = strtolower(preg_replace('/[^a-z0-9]+/i', '-', $post_title));

当我在帖子标题的末尾添加空格或)时,此代码会出错。 如何解决这个问题? 这是什么意思'/[^a-z0-9]+/i'

感谢。

1 个答案:

答案 0 :(得分:0)

确定..
试试这个:

$string = trim(strtolower("This is my article (part 1) "));
$string = preg_replace("/[^a-z0-9]+/i", "-", $string);
$string = preg_replace("/-$/", "", $string);

正如我在评论中所写,我认为问题是strtolower(),它试图使“ - ”小写,但它不起作用。 因此,首先使普通字母小写,然后做pregreplace制作a - 。 然后是第二个移除最后一个的pregreplace - 如果它在那里。

前两行可能是:

$string = preg_replace("/[^a-z0-9]+/i", "-", trim(strtolower("This is my article (part 1) ")));

但我想说清楚,代码的每一步