2017-04-18 6 views
1
$fetched_column['title'] = str_replace(' ', '<SP>', $fetched_column['title']); 

echo $fetched_column['title'] . '<br>'; 

エコーアウトすると、白い領域が取り除かれますが、それは<SP>に置き換えられません。私は<>のために推測しています。これを修正する方法がわからないので、white_spaceの代わりに<SP>がエコーされますか?str_replace with special characters

+2

'ので'が見られているに

変更あなたのコードHTMLタグとしてブラウザに表示され、表示されません(ソースを表示)。 '<'と '>'が必要です。 – AbraCadaver

+1

'htmlspecialchars()'関数を使って '<'と '>'に表示する必要があります。技術的には、それは ''ではなく、 '<SP>'です。 –

+0

str_replaceを使用すべきではありません。あなたは代わりにpreg_replaceを使うべきです – Peter

答えて

0

view-sourceが表示されている場合は、置き換えられたコードを見ることができますが、HTMLは何か(例:ディレクティブ)として解析しようとするため、解析されたWebビューでは表示されません。

正確にその理由でhtmlエンティティを使用できます。

コードは次のようになります。

$fetched_column['title'] = str_replace(' ', '&lt;SP&gt;', $fetched_column['title']); 

echo $fetched_column['title'] . '<br>'; 
+0

それは魅力のように働いたええ、誰かが近い将来に同じ質問でこのページにつまずくことを願っていますが、投票には十分なポイントがありません。 – PirateTube

0

あなたはそれが&lt;&gt;に表示させるためにhtmlspecialchars()またはhtmlentities()機能を使用する必要があります。技術的には<SP>ではなく、&lt;SP&gt;であるべきです。あなたは正しいフォーマットとして、置き換えるしようとしているとき

echo htmlentities($fetched_column['title']) . '<br>'; 

それとも、最初の試みでそれを行うことができますが、::

$fetched_column['title'] = str_replace(' ', '&lt;SP&gt;', $fetched_column['title']);