[扩展推荐]简体转繁体/繁体转简体 OpenCC-PHP 扩展

opencc-php#

介绍#

中文简繁转换开源项目,支持词汇级别的转换、异体字转换和地区习惯用词转换(中国大陆、臺湾、香港)。
github.com/alphasnow/opencc-php

安装#

  1. 第一步,在服务器安装 opencc

  2. 第二步,使用 Composer 安装 opencc-php

     composer require alphasnow/opencc-php

应用配置#

Laravel 应用#

  1. (Laravel5.5+ 忽略) 在 config/app.php 注册 ServiceProvider 和 Facade

     [
         'providers' => [
             // ...
             AlphaSnow\OpenCC\ServiceProvider::class,
         ],
         'aliases' => [
             // ...
             'OpenCC' => AlphaSnow\OpenCC\Facade::class,
         ]
     ];
  2. 发布配置文件

     php artisan vendor:publish --provider="AlphaSnow\OpenCC\ServiceProvider"
  3. 修改配置文件 config/opencc.php

     return [
         // 执行文件的路径,默认:/usr/bin/opencc
         'binary_path'=> env('OPENCC_BINARY', '/usr/bin/opencc'),
         // 预设配置文件夹的路径,默认:/usr/share/opencc
         'config_path'=> env('OPENCC_CONFIG', '/usr/share/opencc'),
     ];

    或修改环境配置 .env

    OPENCC_BINARY=/usr/bin/opencc
    OPENCC_CONFIG=/usr/share/opencc

    快速使用#

    Laravel 应用#

    // laravel应用可用外观
    // 参数1:待转换内容, 参数2:预设配置(可省略.json)
    $simplified = \OpenCC::convert('天氣乍涼人寂寞,光陰須得酒消磨。且來花裏聽笙歌。','t2s.json');
    print_r($simplified);
    // 天气乍凉人寂寞,光阴须得酒消磨。且来花里听笙歌。
    $traditional = \OpenCC::convert('四面垂杨十里荷。问云何处最花多。画楼南畔夕阳和。', 's2t');
    print_r($traditional);
    // 四面垂楊十里荷。問云何處最花多。畫樓南畔夕陽和。

其他应用#

use AlphaSnow\OpenCC\Command;
use AlphaSnow\OpenCC\OpenCC;

$command = new Command('/usr/bin/opencc','/usr/share/opencc');
$openCC = new OpenCC($command);

$result = $openCC->convert('天氣乍涼人寂寞,光陰須得酒消磨。且來花裏聽笙歌。','t2s.json');
print_r($result);
// 天气乍凉人寂寞,光阴须得酒消磨。且来花里听笙歌。

预设配置#

  • s2t.json Simplified Chinese to Traditional Chinese 簡體到繁體
  • t2s.json Traditional Chinese to Simplified Chinese 繁體到簡體
  • s2tw.json Simplified Chinese to Traditional Chinese (Taiwan Standard) 簡體到臺灣正體
  • tw2s.json Traditional Chinese (Taiwan Standard) to Simplified Chinese 臺灣正體到簡體
  • s2hk.json Simplified Chinese to Traditional Chinese (Hong Kong variant) 簡體到香港繁體
  • hk2s.json Traditional Chinese (Hong Kong variant) to Simplified Chinese 香港繁體到簡體
  • s2twp.json Simplified Chinese to Traditional Chinese (Taiwan Standard) with Taiwanese idiom 簡體到繁體(臺灣正體標準)並轉換爲臺灣常用詞彙
  • tw2sp.json Traditional Chinese (Taiwan Standard) to Simplified Chinese with Mainland Chinese idiom 繁體(臺灣正體標準)到簡體並轉換爲中國大陸常用詞彙
  • t2tw.json Traditional Chinese (OpenCC Standard) to Taiwan Standard 繁體(OpenCC 標準)到臺灣正體
  • hk2t.json Traditional Chinese (Hong Kong variant) to Traditional Chinese 香港繁體到繁體(OpenCC 標準)
  • t2hk.json Traditional Chinese (OpenCC Standard) to Hong Kong variant 繁體(OpenCC 標準)到香港繁體
  • t2jp.json Traditional Chinese Characters (Kyūjitai) to New Japanese Kanji (Shinjitai) 繁體(OpenCC 標準,舊字體)到日文新字體
  • jp2t.json New Japanese Kanji (Shinjitai) to Traditional Chinese Characters (Kyūjitai) 日文新字體到繁體(OpenCC 標準,舊字體)
  • tw2t.json Traditional Chinese (Taiwan standard) to Traditional Chinese 臺灣正體到繁體(OpenCC 標準)

备注说明#

  • 如需 PHP 原生扩展,可使用 opencc4php.
  • Window 系统 opencc 配置示例
      OPENCC_BINARY=D:/OpenCC/build/bin/opencc.exe
      OPENCC_BINARY=D:/OpenCC/build/share/opencc
本作品采用《CC 协议》,转载必须注明作者和本文链接
转载请告知
附言 1  ·  3年前

最低支持 laravel 5.1 版本

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 4
flyCow

Laravel 5.8 版本安装不了;
Problem 1

  • Conclusion: don't install sleep-cat/opencc-php v1.0.3
  • Conclusion: don't install sleep-cat/opencc-php v1.0.2
  • Conclusion: don't install sleep-cat/opencc-php v1.0.1
  • Conclusion: remove symfony/process v4.3.3
  • Installation request for sleep-cat/opencc-php ^1.0 -> satisfiable by sleep-cat/opencc-php[v1.0.0, v1.0.1, v1.0.2, v1.0.3].
  • Conclusion: don't install symfony/process v4.3.3
    主要是因为系统版本 symfony/process v4.3.3 太高,无法降级安装!
5年前 评论
悠悠山雨 (楼主) 5年前

我升级了 Symfony,然后现在有个问题路径问题,
$cmd = new Command('/usr/bin/opencc', '/usr/share/opencc');
这两个路径要指向实际的文件是那些呢?我要查找一下,因为我们没有这个文件夹,我是默认安装到 Ubuntu

5年前 评论
悠悠山雨 (楼主) 5年前

已经兼容 laravel 5.1 - 8.0 版本

3年前 评论

您好,我按照这个教程都安装完成,使用的 laravel, 通过 $traditional = \OpenCC::convert (' 四面垂杨十里荷。问云何处最花多。画楼南畔夕阳和。', 's2t'); $traditional 为空是什么问题呢,我查找 /usr/share/opencc 是有这个文件夹的,但是没有这个文件 /usr/bin/opencc,我是通过 yum install opencc 安装的

3年前 评论
悠悠山雨 (楼主) 3年前
Switch_zhou (作者) 3年前
Switch_zhou (作者) 3年前