Saturday, December 11, 2010

研究一下Unicode﹙PHP WordWrap 功能Unicode (UTF-8) 問題解決﹚

<?php


function wordWrapUTF8 ( $s, $w, $t = '<BR/>' ) {

// 是項功能用於將Unicode萬國碼文字換行
// 例如中文、韓文、日文皆適用
// $s 是上述文字,$s中間不應手動換行﹙不按Enter﹚
// $w 是一行字數,“成長”計兩個字,“成長OK”計四個字,
// $t 是換行符號,如HTML網頁用'<BR/>',文字文件用 chr(10)

$v = mb_strlen ( $s, 'UTF-8' );

if ( (int) $w == 0 ) {
$w = 21;

}

if ( $v > $w ) {
$a = array ();

for ( $i = 0; $i < ( $v / $w ) ; $i++ ) {
$a[] = mb_substr ( $s, ( $i * $w ), $w, 'UTF-8' );
}
$b = count ( $a );

for ( $i = 0; $i < ( $b - 1 ); $i++ ) {

$c .= $a[$i] . $t;
}

} else {
$c = $s;

}

return $c;
} // function wordWrapUTF8 ( $s, $w, $t = '<BR/>' ) {



$s = '唐朝(618年—907年)是中國歷史上一個重要的朝代。因國君姓李,故又稱李唐。唐王李淵於618年逼隋恭帝禪位,取代隋朝,國號為唐(尊稱大唐[2]),建立了唐朝,以長安(今陝西西安)為京城(後稱西京、中京、上都),作為首都,後又設洛陽為東都(後稱東京),太原為北都(後稱北京),作為陪都,與長安合稱「三都」';

echo wordWrapUTF8 ( $s, 31 , '<BR/>' );

echo '<BR/>----------<BR/>';

$s = '기자단은 1922년 일제 강점기에 조선인 언론이 생기고 무명회, 철필 구락부 등이 결성되면서 시작되었다.[1] 이후 조선인과 일본인 기자들은 일본 기자 클럽의 영향을 받아 출입처별로 기자단을 결성하였다.[1] 1922년 3월 31일에 경제부 기자로 구성된 간친회가 결성되었고, 이후 체신국 출입 기자와 체신국 관리들이 공동으로 구성한 광화 구락부, 이왕직(李王職) 출입 기자들이 만든 이화 구락부, 스포츠 기자들이 만든 운동 기자 구락부, 연예부 기자들이 만든 찬영회 등이 1920년대에 만들어졌다.';

echo wordWrapUTF8 ( $s, 31 , '<BR/>' );


echo '<BR/>----------<BR/>';

$s = '2008年に発売されたそのデビュー・アルバム『ザ・フェイム』は商業的に大きな成功を収めた。アルバムは多くの批評家から肯定的評価を受けたのに加え、4カ国の音楽チャートで1位を獲得。アメリカ合衆国ビルボードのダンス/エレクトロニカ・アルバム・チャートでも1位になった。アルバムからの最初のシングル2曲「ジャスト・ダンス」「ポーカー・';

echo wordWrapUTF8 ( $s, 31 , '<BR/>' );




?>

No comments: