Kết quả 1 đến 5 của 5
  1. #1
    Super Moderator Zen Studio's Avatar
    Ngày tham gia
    19-06-2013
    Bài viết
    393
    Cảm ơn
    58
    Được cảm ơn 166 trong 123 bài viết

    xử lý tiếng việt trong CI3

    trên forum của bọn CI3 nó báo cái này không thể fix vì dùng chung cho nhiều mục đích khác nhau, cũng chẳng biết mục đích thế nào nhưng cũng ghi lại để sau này khỏi phải hỏi

    để chuyển tiếng việt ra không dấu chúng ta có thể làm 2 cách, 1 là tự viết function thay thế hai làm thế này

    PHP Code:
    <?php    
    $string 
    'học lập trinh ci3';    
    $this->load->helper'text' );cái này hỗ trợ trong ci chuyển các ký tự    
    $string 
    convert_accented_characters$string );cái này là chuyển các ký tự có dấu sang không dấu    
    $this
    ->load->helper(  'url'  );cái này sử dụng cho cái đường dẫn    
    echo strtolowerurl_title$string ) );hàm này sẽ trả về kết quá không dấu "học-lap-trinh-ci3"
    chúc anh em học tập và làm việc tốt nhé
    Sửa lần cuối bởi Zen Studio; 12-07-2013 lúc 10:16 AM.
    hay cung chung toi chinh phuc tri thuc

  2. #2
    Moderator 2webvn.com's Avatar
    Ngày tham gia
    27-03-2013
    Bài viết
    203
    Cảm ơn
    24
    Được cảm ơn 119 trong 81 bài viết
    Cái Hàm: convert_accented_characters() nó phụ thuộc vào file application/config/foreign_chars.php

    http://huongdan.codeigniter.vn/helpers/text_helper.html

    This function uses a companion config file application/config/foreign_chars.php to define the to and from array for transliteration.
    Bây giờ bạn chỉ cần mở file foreign_chars.php của CI2x và CI3x lên sẽ thấy sự khác biệt

    CI2x

    PHP Code:
    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    /*
    | -------------------------------------------------------------------
    | Foreign Characters
    | -------------------------------------------------------------------
    | This file contains an array of foreign characters for transliteration
    | conversion used by the Text helper
    |
    */
    $foreign_characters = array(
        
    '/ä|æ|ǽ/' => 'ae',
        
    '/ö|œ/' => 'oe',
        
    '/ü/' => 'ue',
        
    '/Ä/' => 'Ae',
        
    '/Ü/' => 'Ue',
        
    '/Ö/' => 'Oe',
        
    '/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ/' => 'A',
        
    '/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/' => 'a',
        
    '/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
        
    '/ç|ć|ĉ|ċ|č/' => 'c',
        
    '/Ð|Ď|Đ/' => 'D',
        
    '/ð|ď|đ/' => 'd',
        
    '/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E',
        
    '/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e',
        
    '/Ĝ|Ğ|Ġ|Ģ/' => 'G',
        
    '/ĝ|ğ|ġ|ģ/' => 'g',
        
    '/Ĥ|Ħ/' => 'H',
        
    '/ĥ|ħ/' => 'h',
        
    '/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ/' => 'I',
        
    '/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/' => 'i',
        
    '/Ĵ/' => 'J',
        
    '/ĵ/' => 'j',
        
    '/Ķ/' => 'K',
        
    '/ķ/' => 'k',
        
    '/Ĺ|Ļ|Ľ|Ŀ|Ł/' => 'L',
        
    '/ĺ|ļ|ľ|ŀ|ł/' => 'l',
        
    '/Ñ|Ń|Ņ|Ň/' => 'N',
        
    '/ñ|ń|ņ|ň|ʼn/' => 'n',
        
    '/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/' => 'O',
        
    '/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/' => 'o',
        
    '/Ŕ|Ŗ|Ř/' => 'R',
        
    '/ŕ|ŗ|ř/' => 'r',
        
    '/Ś|Ŝ|Ş|Š/' => 'S',
        
    '/ś|ŝ|ş|š|ſ/' => 's',
        
    '/Ţ|Ť|Ŧ/' => 'T',
        
    '/ţ|ť|ŧ/' => 't',
        
    '/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U',
        
    '/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u',
        
    '/Ý|Ÿ|Ŷ/' => 'Y',
        
    '/ý|ÿ|ŷ/' => 'y',
        
    '/Ŵ/' => 'W',
        
    '/ŵ/' => 'w',
        
    '/Ź|Ż|Ž/' => 'Z',
        
    '/ź|ż|ž/' => 'z',
        
    '/Æ|Ǽ/' => 'AE',
        
    '/ß/'=> 'ss',
        
    '/IJ/' => 'IJ',
        
    '/ij/' => 'ij',
        
    '/Œ/' => 'OE',
        
    '/ƒ/' => 'f'
    );

    /* End of file foreign_chars.php */
    /* Location: ./application/config/foreign_chars.php */
    CI3x

    PHP Code:
    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    /**
     * CodeIgniter
     *
     * An open source application development framework for PHP 5.2.4 or newer
     *
     * NOTICE OF LICENSE
     *
     * Licensed under the Academic Free License version 3.0
     *
     * This source file is subject to the Academic Free License (AFL 3.0) that is
     * bundled with this package in the files license_afl.txt / license_afl.rst.
     * It is also available through the world wide web at this URL:
     * http://opensource.org/licenses/AFL-3.0
     * If you did not receive a copy of the license and are unable to obtain it
     * through the world wide web, please send an email to
     * licensing@ellislab.com so we can send you a copy immediately.
     *
     * @package        CodeIgniter
     * @author        EllisLab Dev Team
     * @copyright    Copyright (c) 2008 - 2013, EllisLab, Inc. (http://ellislab.com/)
     * @license        http://opensource.org/licenses/AFL-3.0 Academic Free License (AFL 3.0)
     * @link        http://codeigniter.com
     * @since        Version 1.0
     * @filesource
     */

    /*
    | -------------------------------------------------------------------
    | Foreign Characters
    | -------------------------------------------------------------------
    | This file contains an array of foreign characters for transliteration
    | conversion used by the Text helper
    |
    */
    $foreign_characters = array(
        
    '/ä|æ|ǽ/' => 'ae',
        
    '/ö|œ/' => 'oe',
        
    '/ü/' => 'ue',
        
    '/Ä/' => 'Ae',
        
    '/Ü/' => 'Ue',
        
    '/Ö/' => 'Oe',
        
    '/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ|Α|Ά|Ả|Ạ|Ầ|Ẫ|Ẩ|Ậ|Ằ|Ắ|Ẵ|Ẳ|Ặ|А/' => 'A',
        
    '/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª|α|ά|ả|ạ|ầ|ấ|ẫ|ẩ|ậ|ằ|ắ|ẵ|ẳ|ặ|а/' => 'a',
        
    '/Б/' => 'B',
        
    '/б/' => 'b',
        
    '/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
        
    '/ç|ć|ĉ|ċ|č/' => 'c',
        
    '/Д/' => 'D',
        
    '/д/' => 'd',
        
    '/Ð|Ď|Đ|Δ/' => 'Dj',
        
    '/ð|ď|đ|δ/' => 'dj',
        
    '/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě|Ε|Έ|Ẽ|Ẻ|Ẹ|Ề|Ế|Ễ|Ể|Ệ|Е|Ё|Э/' => 'E',
        
    '/è|é|ê|ë|ē|ĕ|ė|ę|ě|έ|ε|ẽ|ẻ|ẹ|ề|ế|ễ|ể|ệ|е|ё|э/' => 'e',
        
    '/Ф/' => 'F',
        
    '/ф/' => 'f',
        
    '/Ĝ|Ğ|Ġ|Ģ|Γ|Г/' => 'G',
        
    '/ĝ|ğ|ġ|ģ|γ|г/' => 'g',
        
    '/Ĥ|Ħ/' => 'H',
        
    '/ĥ|ħ/' => 'h',
        
    '/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|Η|Ή|Ί|Ι|Ϊ|Ỉ|Ị|И|Й/' => 'I',
        
    '/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|η|ή|ί|ι|ϊ|ỉ|ị|и|й/' => 'i',
        
    '/Ĵ/' => 'J',
        
    '/ĵ/' => 'j',
        
    '/Ķ|Κ|К/' => 'K',
        
    '/ķ|κ|к/' => 'k',
        
    '/Ĺ|Ļ|Ľ|Ŀ|Ł|Λ|Л/' => 'L',
        
    '/ĺ|ļ|ľ|ŀ|ł|λ|л/' => 'l',
        
    '/М/' => 'M',
        
    '/м/' => 'm',
        
    '/Ñ|Ń|Ņ|Ň|Ν|Н/' => 'N',
        
    '/ñ|ń|ņ|ň|ʼn|ν|н/' => 'n',
        
    '/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ|Ο|Ό|Ω|Ώ|Ỏ|Ọ|Ồ|Ố|Ỗ|Ổ|Ộ|Ờ|Ớ|Ỡ|Ở|Ợ|О/' => 'O',
        
    '/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|ο|ό|ω|ώ|ỏ|ọ|ồ|ố|ỗ|ổ|ộ|ờ|ớ|ỡ|ở|ợ|о/' => 'o',
        
    '/П/' => 'P',
        
    '/п/' => 'p',
        
    '/Ŕ|Ŗ|Ř|Ρ|Р/' => 'R',
        
    '/ŕ|ŗ|ř|ρ|р/' => 'r',
        
    '/Ś|Ŝ|Ş|Ș|Š|Σ|С/' => 'S',
        
    '/ś|ŝ|ş|ș|š|ſ|σ|ς|с/' => 's',
        
    '/Ț|Ţ|Ť|Ŧ|τ|Т/' => 'T',
        
    '/ț|ţ|ť|ŧ|т/' => 't',
        
    '/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ|Ũ|Ủ|Ụ|Ừ|Ứ|Ữ|Ử|Ự|У/' => 'U',
        
    '/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ|υ|ύ|ϋ|ủ|ụ|ừ|ứ|ữ|ử|ự|у/' => 'u',
        
    '/Ý|Ÿ|Ŷ|Υ|Ύ|Ϋ|Ỳ|Ỹ|Ỷ|Ỵ/' => 'Y',
        
    '/ý|ÿ|ŷ|ỳ|ỹ|ỷ|ỵ/' => 'y',
        
    '/В/' => 'V',
        
    '/в/' => 'v',
        
    '/Ŵ/' => 'W',
        
    '/ŵ/' => 'w',
        
    '/Ź|Ż|Ž|Ζ|З/' => 'Z',
        
    '/ź|ż|ž|ζ|з/' => 'z',
        
    '/Æ|Ǽ/' => 'AE',
        
    '/ß/'=> 'ss',
        
    '/IJ/' => 'IJ',
        
    '/ij/' => 'ij',
        
    '/Œ/' => 'OE',
        
    '/ƒ/' => 'f',
        
    '/ξ/' => 'ks',
        
    '/π/' => 'p',
        
    '/β/' => 'v',
        
    '/μ/' => 'm',
        
    '/ψ/' => 'ps',
        
    '/Ж/'=>'Zh',
        
    '/ж/'=>'zh',
        
    '/Х/'=>'Kh',
        
    '/х/'=>'kh',
        
    '/Ц/'=>'Tc',
        
    '/ц/'=>'tc',
        
    '/Ч/'=>'Ch',
        
    '/ч/'=>'ch',
        
    '/Ш/'=>'Sh',
        
    '/ш/'=>'sh',
        
    '/Щ/'=>'Shch',
        
    '/щ/'=>'shch',
        
    '/Ю/'=>'Iu',
        
    '/ю/'=>'iu',
        
    '/Я/'=>'Ia',
        
    '/я/'=>'ia'
    );

    /* End of file foreign_chars.php */
    /* Location: ./application/config/foreign_chars.php */

  3. The Following User Says Thank You to 2webvn.com For This Useful Post:

    Zen Studio (12-07-2013)

  4. #3
    Super Moderator Zen Studio's Avatar
    Ngày tham gia
    19-06-2013
    Bài viết
    393
    Cảm ơn
    58
    Được cảm ơn 166 trong 123 bài viết
    cám ơn web, tất nhiên là khác rồi, vì CI2 khác xa với CI3 mà nhưng có 1 điểm chung cho tất cả lập trình là dù có khác hay không khác thì chúng ta đang tiến dần đến với master codeigniter mà, thấy nó không ổn thì ta cũng có thể viết lại sao cho giống của ta mờ, họ phát triển cho tất cả cộng đồng còn ta chỉ phát triển trong một phạm vi nhỏ, chỗ nào không cần thiết có thể bỏ
    hay cung chung toi chinh phuc tri thuc

  5. #4
    Moderator 2webvn.com's Avatar
    Ngày tham gia
    27-03-2013
    Bài viết
    203
    Cảm ơn
    24
    Được cảm ơn 119 trong 81 bài viết
    Hi mình thấy CI3x nó sửa cái này làm cho tiếng việt mình sai nè:

    '/Ð|Ď|Đ|Δ/' => 'Dj',
    '/ð|ď|đ|δ/' => 'dj',

    '/В/' => 'V',

  6. #5
    Super Moderator Zen Studio's Avatar
    Ngày tham gia
    19-06-2013
    Bài viết
    393
    Cảm ơn
    58
    Được cảm ơn 166 trong 123 bài viết
    hj, tớ thấy thay cả cái đấy thành function của việt nam pro hơn, khỏi phải lăn tăn nhiều dùng được hết
    hay cung chung toi chinh phuc tri thuc

Chia sẽ và Bình Luận chủ đề xử lý tiếng việt trong CI3 trên facebook

Các từ khóa xuất hiện trên google của chủ đề

Chưa có từ khóa lên top google

Tag của Chủ đề này - Hãy Thêm Tags Để bài viết nhanh lên top google

Quyền viết bài

  • Bạn không thể đăng chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi đính kèm
  • Bạn không thể sửa bài
  •