ソースコード等をコピー&ペーストした時の不思議対応(半角が全角になる)

PHP等のソースコード等を参考としてコピー&ペースとした時に半角だったはずの文字が全角になっていることがある。
とりあえず挙動をみてみようと思ってサンプルソースを実行するとエラーになってはまってしまう時の答えは大体がこれだ。

「なんで全角になってんだよ!」って奴です。


【'(シングルクォーテーション)】や【”(ダブルクォーテーション)】等の半角で表示されているはずの記号関係が全角になっている。
ずっと”仕方のない仕様”だと思ってた。
ソースコードなんだし、見た目は半角でも内部でHTMLエンティティされていてとか思ってた。
全角になってるからHTMLエンティティではないんだろうな、ブラウザとかWindowsの仕様なんだろうなと思ってた。

なのに…なのに…
まさかWordPressの仕様だったなんて!!

見た目は半角なのに、コピペすると全角になる謎は
formatting.phpファイルの中にありました(場所は「「wp-includes」フォルダ内)

formatting.phpファイル内において、

という記述があるんだけど、この【preg_replace】で正規表現で検索されて全角文字に置換されていた。

【$dynamic_characters】に当てはまった文字を【$dynamic_replacements】で指定した文字に変換するようになっています。
面倒な人は【$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);】の記述をスラッシュ2つでコメントアウトしてもいいのだけれど、正規表現まで使って置換している動作を除外するということは何か問題が発生する可能性はあるので全てを除外するのは気にかかる。

気になる方は「Webで使える特殊文字 – HTMLタグリファレンス/Tips」でにらめっこしてみて下さい。