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

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

當回聲出它去除的white_space但不與<SP>替換它。我猜是因爲<>。不知道如何解決這個問題,所以它代替white_space回調出<SP>str_replace函數有特殊字符

+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

您需要使用htmlspecialchars()htmlentities()功能,使之成爲展示和&lt;&gt;。從技術上講,它不應該是<SP>,而是&lt;SP&gt;

更改您的代碼:

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

或者你也可以在第一次嘗試這樣做,當你試圖取代,因爲正確的格式:

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