downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mb_convert_variables> <mb_convert_encoding
[edit] Last updated: Fri, 25 May 2012

view this page in

mb_convert_kana

(PHP 4 >= 4.0.6, PHP 5)

mb_convert_kanaConvierte de un "kana" a otro ("zen-kaku", "han-kaku" y más)

Descripción

string mb_convert_kana ( string $str [, string $option = "KV" [, string $encoding ]] )

Realiza una conversión "han-kaku" - "zen-kaku" en el string str. Esta función solo es útil en el japonés.

Parámetros

str

El string a convertir.

option

Opción de conversión.

Se especifica con una combinación de las siguientes opciones.

Opciones de Conversión Posibles
Opción Significado
r Convierte los alfabetos "zen-kaku" a "han-kaku"
R Convierte los alfabetos "han-kaku" alphabets a "zen-kaku"
n Convierte los números "zen-kaku" a "han-kaku"
N Convierte los números "han-kaku" a "zen-kaku"
a Convierte los alfabetos y los números "zen-kaku" a "han-kaku"
A Convierte los alfabetos y los números "han-kaku" a "zen-kaku" (Los caracteres incluídos en las opciones "a" y "A" son U+0021 - U+007E excepto U+0022, U+0027, U+005C, U+007E)
s Convierte del espacio de "zen-kaku" al de "han-kaku" (U+3000 -> U+0020)
S Convierte del espacio de "han-kaku" al de "zen-kaku" (U+0020 -> U+3000)
k Convierte de "zen-kaku kata-kana" a "han-kaku kata-kana"
K Convierte de "han-kaku kata-kana" a "zen-kaku kata-kana"
h Convierte de "zen-kaku hira-gana" a "han-kaku kata-kana"
H Convierte de "han-kaku kata-kana" a "zen-kaku hira-gana"
c Convierte de "zen-kaku kata-kana" a "zen-kaku hira-gana"
C Convierte de "zen-kaku hira-gana" a "zen-kaku kata-kana"
V Colapas la notación de sonidos de voz, y la converte a caracteres. Usar con "K","H"

encoding

El parámetro encoding es la codificación de caracteres. Si es omitido, será usado el valor de la codificación de caracteres interna.

Valores devueltos

El string convertido.

Ejemplos

Ejemplo #1 Ejemplo de mb_convert_kana() example

<?php
/* Convierte de "kana" a "zen-kaku" "kata-kana" */
$str mb_convert_kana($str"KVC");

/* Convierte de "han-kaku" "kata-kana" a "zen-kaku" "kata-kana" 
   y los alfanuméricos de "zen-kaku" a "han-kaku" */
$str mb_convert_kana($str"KVa");
?>



mb_convert_variables> <mb_convert_encoding
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes mb_convert_kana
sohel62 at yahoo dot com 18-Feb-2008 09:17
I did that manually when I was not getting  expected result using mb_convert_kana().
<?php
 
/*
 * @author Taslim Mazumder Sohel
 * @deprecated 1.0 - 2008/02/19
 *
 */
function han_kaku_to_jen_kaku($str){
       
$replace_of = array('ヴ','ガ','ギ','グ',
                           
'ゲ','ゴ','ザ','ジ',
                           
'ズ','ゼ','ゾ','ダ',
                           
'ヂ','ヅ','デ','ド',
                           
'バ','ビ','ブ','ベ',
                           
'ボ','パ','ピ','プ','ペ','ポ');
       
$replace_by = array('ヴ','ガ','ギ','グ',
                           
'ゲ','ゴ','ザ','ジ',
                           
'ズ','ゼ','ゾ','ダ',
                           
'ヂ','ヅ','デ','ド',
                           
'バ','ビ','ブ','ベ',
                           
'ボ','パ','ピ','プ','ペ','ポ');
       
$_result = str_replace($replace_of, $replace_by, $str);
       
       
$replace_of = array('ア','イ','ウ','エ','オ',
                           
'カ','キ','ク','ケ','コ',
                           
'サ','シ','ス','セ','ソ',
                           
'タ','チ','ツ','テ','ト',
                           
'ナ','ニ','ヌ','ネ','ノ',
                           
'ハ','ヒ','フ','ヘ','ホ',
                           
'マ','ミ','ム','メ','モ',
                           
'ヤ','ユ','ヨ','ラ','リ',
                           
'ル','レ','ロ','ワ','ヲ',
                           
'ン','ァ','ィ','ゥ','ェ',
                           
'ォ','ヵ','ヶ','ャ','ュ',
                           
'ョ','ッ','、','。','ー',
                           
'「','」','゙','゚');
       
$replace_by = array('ア','イ','ウ','エ','オ',
                           
'カ','キ','ク','ケ','コ',
                           
'サ','シ','ス','セ','ソ',
                           
'タ','チ','ツ','テ','ト',
                           
'ナ','ニ','ヌ','ネ','ノ',
                           
'ハ','ヒ','フ','ヘ','ホ',
                           
'マ','ミ','ム','メ','モ',
                           
'ヤ','ユ','ヨ','ラ','リ',
                           
'ル','レ','ロ','ワ','ヲ',
                           
'ン','ァ','ィ','ゥ','ェ',
                           
'ォ','ヶ','ヶ','ャ','ュ',
                           
'ョ','ッ','、','。','ー',
                           
'「','」','”','');       
       
$_result = str_replace($replace_of, $replace_by, $_result);
        return
$_result;
    }
?>
d at safetypub dot org 01-Apr-2005 03:00
I didn't find Japanese sorting function.
(mb_sort_kana or something)
Only SJIS encoding treats hankaku kata kana,
 I can't post here copy & paste version script.
I'm sorry...
You will replace comments with appropriate japanese string,
and write exception handlings between lines as you like.

<?php
mb_internal_encoding
("SJIS");

$moji = /*"aiueo...wawon -?.," <- serialized hankaku kata kana 50 on hyou goes here*/;
$moji .= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxwz0123456789";

for(
$i = 0; isset($moji[$i]); $i++){
   
$pittan[$moji[$i]] = $i;
}

function
cmp($a, $b)
{
   if (
$a == $b) {
       return
0;
   }
   return
iter(mb_convert_kana($a, "askh") ,mb_convert_kana($b, "askh"), 0);
}

function
iter($a, $b, $i){
    global
$pittan;
    if(!isset(
$a[$i]) || !isset($b[$i])){
        return (isset(
$b[$i]))? -1 : 1;
    }
    if (
$pittan[$a[$i]] == $pittan[$b[$i]]){
        return
iter($a, $b, ++$i);
    }
    return ((
$pittan[$a[$i]]) < ($pittan[$b[$i]]))? -1 : 1;
}

echo
"<pre>";
$arr = array(/*some japanese array here*/);
usort($arr, "cmp");
var_dump($arr);
?>
dn at littlealf dot net 23-Jul-2003 09:33
It seems that mb_convert_kana() doesn't convert symbols such as ' (single quoatation). It affected my program when I insert data into database.

So, I've found 2 ways to solve this.
1) Use Javascript to convert those non-supported symbols before sending query string to your php page.
2) Use php function, str_replace $str, to replace those non-supported symbols. For example, $str = str_replace("'", "", $str);
where the first single quot is half-width(han kaku), and the second one is full-width(zen kaku).

 
show source | credits | sitemap | contact | advertising | mirror sites