<?php
$str = "0123ABCDFWS\",.?<>{}[]*&^%#@!~()+-|:;";
$str = iconv('utf-8', 'gbk//ignore', $str);
$str = preg_replace('/\xa3([\xa1-\xfe])/e', 'chr(ord(\1)-0x80)', $str);
echo $str;
?>
這是網(wǎng)上找的一段全角符號(hào)轉(zhuǎn)半角符號(hào)的函數(shù),使用了下確實(shí)有效,使用的原理是中文標(biāo)點(diǎn)的第二個(gè)字節(jié)減去0X80(即128)所得的數(shù)字就是半角所得的數(shù)字,但還是不符合我的需求,我希望的能夠從一段文本中將全角符號(hào)轉(zhuǎn)成半角符號(hào)而對(duì)文字不轉(zhuǎn)換。
例如:
原文:如果我連身邊最重要的人都保護(hù)不了的話,我當(dāng)這個(gè)魔君還有什么意義。
轉(zhuǎn)為:如果我連身邊最重要的人都保護(hù)不了的話,我當(dāng)這個(gè)魔君還有什么意義.
請(qǐng)問(wèn)這個(gè)該如何匹配???
還是需要說(shuō)將文本中的字符串轉(zhuǎn)成數(shù)組,例遍數(shù)組遇到全角轉(zhuǎn)成半角,再組成文本。
<?php
// 半角返回0,全角返回1
function DBCorSBC($char) {
$ascii = ord($char);
if ($ascii < 128) {
return 0;
}
else {
return 1;
}
}
走同樣的路,發(fā)現(xiàn)不同的人生