Giter Site home page Giter Site logo

ffi-opencc's Introduction

ffi-opencc

该项目是将中文简体转换成繁体,使用rust构建动态链接库来给php调用。 该库主要是为了提高php转换繁体字的性能而构建(特别是长文章)。

环境

需要php >= 7.4 以上的版本并且开启了FFI扩展。如果你需要自己编译库还需要装rust 工具链。

还需要设置php.ini 中的ffi.enableOn

该库需要依赖opencc库。

目前有两种方式来构建依赖。

  1. 手动安装opencc

    比如: yum install opencc 或者 apt-get install opencc 甚至还你可以自己编译

  2. 为库目录下的lib/libopencc.so.1.1.2创建软链

        [root@meshell]# ln -s ./lib/libopencc.so.1.1.2 /lib64/libopencc.so.1.1
        [root@meshell]# ln -s /lib64/libopencc.so.1.1 /lib64/libopencc.so

该目录不支持window环境,如果你需要请自行编译。

Usage

该库提供六种转换用法:简转繁,繁转简,简转繁,繁转简,简转繁,繁转简。

<?php

include __DIR__ . '/../src/OpenCC.php';

// new 方法支持opencc配置目录
$oc = \FastFFI\Opencc\OpenCC::new();

echo "简体转繁体: ", $oc->s2t("头可断,血可流"), "\n";

echo "繁体转简体: ", $oc->t2s("**省,是中華人民共和國法定的34個省級行政區之一,也是中華人民共和國法律上的两个岛屿省份之一,其轄區包括臺灣島及其附屬島嶼、澎湖列岛等地"), "\n";

echo "简体转台正繁体: ", $oc->s2tw("头可断,血可流"), "\n";

echo "台正繁体转简体: ", $oc->tw2s("**省,是中華人民共和國法定的34個省級行政區之一,也是中華人民共和國法律上的两个岛屿省份之一,其轄區包括臺灣島及其附屬島嶼、澎湖列岛等地"), "\n";

echo "简体转香港繁体: ", $oc->s2hk("头可断,血可流"), "\n";

echo "香港繁体转简体: ", $oc->hk2s("頭可斷,血可流"), "\n";

以上程序执行后的结果:

简体转繁体: 頭可斷,血可流

繁体转简体: **省,是中华人民共和国法定的34个省级行政区之一,也是中华人民共和国法律上的两个岛屿省份之一,其辖区包括**岛及其附属岛屿、澎湖列岛等地

简体转台正繁体: 頭可斷,血可流

台正繁体转简体: **省,是中华人民共和国法定的34个省级行政区之一,也是中华人民共和国法律上的两个岛屿省份之一,其辖区包括**岛及其附属岛屿、澎湖列岛等地

简体转香港繁体: 頭可斷,血可流

香港繁体转简体: 头可断,血可流

在线转换

FAQ

  • centos上执行失败?

    确定是不是glibc版本过低。可以使用ldd lib/libffi_opencc.so 来查看库信息。 如果出现/lib64/libc.so.6: version 'glibc_2.18' not found就说明你服务的glibc版本过低。 下载glibc编译升级,下载地址: wget http://mirrors.ustc.edu.cn/gnu/libc/glibc-2.18.tar.gz

ffi-opencc's People

Contributors

tianliangzhou avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

coolf lyhiving

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.