半角文字から全角文字を取り除く (PHP)


文字列の中の全角文字をを取り除くか、別の文字に変換するために以下のようにしてみました。mb_strlenとstrlenを使っています。

$line = 123あいう456
$newline = '';
for ($i = 0;$i <= mb_strlen($line);$i++){
	if (strlen(mb_substr($line,$i,1)) == mb_strlen(mb_substr($line,$i,1))){
		$newline .= mb_substr($line,$i,1);
	}else{
		$newline .= 'a';
	}
}

結果は 123aaa456となります。
else内を消せば、結果は123456です。
単純に半角にするだけならmb_convert_kanaが使えます。半角に対応のない全角文字を消去または置き換える場合には使えません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

SPAM防止のため数字と漢数字の算数の計算をお願いします。 * Time limit is exhausted. Please reload CAPTCHA.