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

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

Wenn es Echos aus dem white_space Streifen ist aber nicht mit <SP> ersetzen. Ich vermute wegen der <>. Weiß nicht, wie man das repariert, so dass es <SP> als Ersatz für den white_space ausgibt?str_replace mit Sonderzeichen

+2

Weil '' gesehen als HTML-Tag durch den Browser und nicht angezeigt (Quelltext anzeigen). Sie wollen '<' und '>'. – AbraCadaver

+1

Sie müssen 'htmlspecialchars()' Funktion verwenden, um es in '<' und '>' anzeigen zu lassen. Technisch sollte es nicht "" sein, sondern "<SP>". –

+0

Sie sollten str_replace nicht verwenden, wenn sie veraltet ist. Sie sollten stattdessen preg_replace verwenden – Peter

Antwort

0

Wenn Sie view-source sehen, können Sie Ihren ersetzten Code sehen, aber weil HTML versucht, es als etwas zu analysieren (zB directive), sehen Sie es nicht in geparsten Web View.

Sie können HTML-Entitäten genau aus diesem Grund verwenden.

Code wäre:

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

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

Ja, das hat wie ein Zauber funktioniert, habe nicht genug Punkte, um dich zu bewerten, obwohl ich hoffe, dass jemand in naher Zukunft auf diese Seite mit der gleichen Frage stolpert. – PirateTube

0

Sie benötigen htmlspecialchars() oder htmlentities() Funktion verwenden, um es in &lt; und &gt; machen anzuzeigen. Technisch sollte es nicht <SP> sein, aber stattdessen .

Ändern Sie Ihren Code:

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

Oder man kann es im ersten Versuch tun, wenn Sie zu ersetzen versuchen, wie das richtige Format:

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