SQLの窓 イラストAC フリー素材

2012年04月27日

PHP で、文字列中の &#nnnn; を元に戻してみたコード

とりあえずうまくいっているようです。特殊な文字をブラウザで送信すると勝手に変換
する事になっているようなので、PHP に届いたらそのままでは、PDF 中の文字列として使
え無いので作成しました。

※ 非常にベタな内容なので、効率は悪いと思います
$_POST['text'] = mb_convert_encoding( $_POST['text'], "UTF-8", "SHIFT_JIS" );
$len = strlen($_POST['text']);
$buf = "";
$wk = "";
for( $i = 0; $i < $len; $i++ ) {
	$ch = substr( $_POST['text'], $i, 1 );
	if ( $ch == '&' ) {
		$i++;
		$ch = substr( $_POST['text'], $i, 1 );
		if ( $ch == '#' ) {
			$wk = "&#";
			$i++;
			for( $j = $i; $j < $len; $j++ ) {
				$ch = substr( $_POST['text'], $j, 1 );
				$wk .= $ch;
				if ( $ch == ';' ) {
					$wk = mb_convert_encoding( $wk, 'UTF-8', 'HTML-ENTITIES' );
					$buf .= $wk;
					$i = $j;
					break;
				}
			}
		}
		else {
			$wk = '&' . $ch;
			$buf .= $wk;
		}
	}
	else {
		$buf .= $ch;
	}
} 
$_POST['text'] = $buf;



posted by at 2012-04-27 01:30 | Comment(0) | LOG | このブログの読者になる | 更新情報をチェックする
SQLの窓全体の検索
Custom Search
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX