2016-04-15 2 views
1

現在、私はワードプレスのポストメタのためにいくつかの単語と文字の置換配列を作成しています。目標は、単語やコードをあらかじめフィルタリングまたは置換することです。Machine Code-linebreakをPHPで置き換える

私のコードは、出力ではJavaScriptが使用しbeeingてさ、この

$replace_array["*"] = " "; 
$replace_array["!."] = "!"; 
$replace_array[" "] = " "; 
$replace_array["nbsp;"] = ". "; 
$replace_array["."] = ". "; 

のようなもので、私はそれをテストしている間、私はいくつかのマシンコードの問題に遭遇しました。私は現在、理由を把握することができませんが、いくつかの他のスクリプトは、私のワードプレスのメタに機械コードを挿入している、問題はまれですが、それが起こる場合は、私の全体のJavaScriptを壊す。バグは、normalyは またはsimlarをメタコード内に持ち、マシンコードを含まないようにする必要があるためです。

Example of the machine code

私の質問は、ある - 私の配列を交換するか、それが私の現在の配列を行うことはできませんので、私は、私のPHPスクリプトにその他の変更を行う必要がありますかでそれをフィルタリングする方法があります。

+0

これはエンコードの問題である可能性があります。仮想ホスト構成、.htaccessファイル、データベース構成を確認してください。それらはすべて単一のエンコーディングで動作する必要があります。 – heximal

+1

あなたはその文字の16進コードを見ることができる適切なエディタにそのテキストを手に入れることができますか? – RiggsFolly

+0

Heximal:私はNginxを実行していますが、問題は非常にまれですが、私はデータベースをチェックします。 @RiggsFolly、私はWinhex経由で開き、その部分にはHEX:0D0Aを表示します。私は私が正しいかどうか分からないので、私はイメージを作成しました。 http://imgur.com/fyU02lf – Deex

答えて

1

HEX 0D 0Aは、改行用のDos、キャリッジリターン、それほど特別なことはありません。

$replace_array["\n"] = " "; 

は何も

それとも、UNIX上にある場合、多分これは良いだろうと置き換えるにはスペースや

$replace_array["\n"] = ''; 

でそれを置き換えるには、あなたの置き換えの配列にこれを追加

$replace_array["\r\n"] = " "; 

または<br>

+0

何を使用しましたか?そして、あなたのコードの中で '$ replace_array'を後で使う方法 – RiggsFolly

+0

ああ..私は間違った部分でそれをテストしました。それは働いています:) '$ replace_array [" \ r \ n "] =" "; $ replace_array ["\ n"] = ''; 'ありがとうございます! – Deex

+0

素敵な素晴らしいニュース – RiggsFolly

関連する問題