CodeIgniter 中国开发者社区诚征热爱 CI 的版主

查看完整版本: SEO友好化URL(支持中文转换)

icyleaf 2008-8-6 17:26

SEO友好化URL(支持中文转换)

之前翻译了一篇关于《[url=http://www.icyleaf.cn/2008/07/27/seo-friendly-url-in-php/]如何使用PHP代码SEO你的URL[/url]》的文章:
比如说,我现在从数据库提取出来一篇文章,那么改怎样把标题优化为URL?
再举个例子,我想把标题“Welcome to Beijing 2008 Olympic Games”优化为“welcome-to-beijing-2008-olympic-games”,甚至是把法语“Guantanamo: le chauffeur de Ben Laden plaide non coupable à l'ouverture de son procès”优化为"guantanamo-le-chauffeur-de-ben-laden-plaide-non-coupable-a-l- ouverture-de-son-proces.html"
里面的方法很简单,这里在简单描述一下。
首先,也是最重要的是,本方法[b]不用考虑是否提供 mod_rewrite 模块就可以实现[/b],是不是很棒?
其次,使用正则表达式来完成URL的转换。[b]支持英语系(包括法语)的转换[/b]
最后,参考[url=http://www.storyday.com/]生活点滴[/url]的cosbeta所写的WordPress插件[url=http://www.storyday.com/html/y2007/1202_auto-slug-translate-plugin.html]cos_slug_translator[/url]插件(其实使用的Google的翻译功能)的核心代码完成了中文转换为英文的功能,最后在调用friendlyurl方法SEO URL。

最近刚接触CI框架,所以把这个功能写了一个小的helper。使用方法很简单:
新建一个控制器friendlyurl.php
[code=PHP]
    class Friendlyurl extends Controller{
        function index()
        {
            $this->load->helper("seo_url");
            $string1 = "我是中国人!";
            $string2 = "私日本語を話す";
            $string3 = "포럼사무실";
            echo $string1." -> ".seo_url::translate($string1,"chinese")." -> ".seo_url::friendlyurl(seo_url::translate($string1))."<br />";
            echo $string2." -> ".seo_url::translate($string2,"japanese")." -> ".seo_url::friendlyurl($string2, true)."<br />";
            echo $string3." -> ".seo_url::translate($string3)." -> ".seo_url::friendlyurl($string3, true)."<br />";
        }
    }
[/code]
里面包括了中文,日语,汉语3国语言来测试,首先加载helper:seo_url。
此类包含两个方法:translate和friendlyurl
其他的看这些代码就应该明白了,我就不多少了:)


初次使用+发贴如有错误请指正

[[i] 本帖最后由 icyleaf 于 2008-8-7 09:45 编辑 [/i]]

icyleaf 2008-8-25 23:20

没有人关注这个哦。。。。

Hex 2008-8-25 23:59

怎么会没人关注呢?我来给你加分先!

kissmumu 2008-8-26 08:53

郁闷,今天才看到:Q

protang 2008-10-17 09:08

这个要调用google的API, 速度上是不是太慢了些呀

cocely 2008-10-21 10:35

韩语写成汉语了:L

sam 2008-10-21 10:46

暂时用不到,先收藏。。。
页: [1]
查看完整版本: SEO友好化URL(支持中文转换)