wordpress中的apply_filters()函数

时间:2010-05-17 15:34:50

标签: php wordpress

嘿,我真的很沮丧

我正在寻找一种方法来将我的slug恢复到正常文本,就像wordpress一样

在wordpress中有一个功能:

apply_filters('editable_slug',$ slug)

我搜索所有相关文件以查找此功能的功能,但无法理解。

正如ypu可能知道的那样,用正常文本制作一个slu is是一件容易的事,但是当它被转换时,对于像阿拉伯语这样的Utf-8语言,单词将被改为不可读的unicodes。

e.g。 :

http://localhost/page/%d8%a7%d9%84%d9%84%d9%87

你知道这个函数在wordpress中是如何工作的吗?

apply_filters('editable_slug',$ slug)

以及如何在我自己的php项目中做同样的事情?

2 个答案:

答案 0 :(得分:1)

查看这个问题:Unicode characters in URLs以获得一些好的背景。

您显示的网址基本上看起来还不错 - 这是所讨论的阿拉伯字符的正确百分比编码表示。

您应该能够在网页上以适当的阿拉伯语显示它们。复制+粘贴将为您提供URLencoded表单,这是一件好事,因为这样,您的永久链接也可以在非UTF-8语言的客户端中使用。

答案 1 :(得分:1)

在百分比编码的表单上调用rawurldecode - 这将为您提供UTF-8编码的文本。如果你的网页编码是UTF-8,你只需要调用htmlspecialchars($ str,ENT_NOQUOTES,'UTF-8')。

示例:

$str = rawurldecode('%d8%a7%d9%84%d9%84%d9%87');
echo htmlspecialchars($str, ENT_NOQUOTES, 'UTF-8');