我構建了一個使用所見即所得編輯器(TinyMCE)的博客。你創建一篇博客文章,發佈它,並將其存儲在MySQL數據庫中。然後該帖子被另一頁面拉出。我確信大部分人都是簡單的東西。PHP從數據庫中刪除的字符串中刪除
它在我的測試服務器上運行良好,因此我將它切換到另一臺服務器,現在圖像無法在視圖博客頁面上正常瀏覽。
我檢查了img的URL,它看起來像這樣。
<img src="\"/img/parking1.png\"" alt="\"\"">
我還沒有寫一個方法來做到這一點,但它似乎是逃避()引號。
它沒有在我的最後一臺服務器上這樣做,並且工作正常,所以我假設它是一個服務器(託管)安全事物。
我試圖刪除它們,空白替換它們:
$cleanpost = str_replace('\', '',$post);
哪裏$post
是從數據庫中拉數據。這是糟糕的語法,並且在引號之間放置反斜槓將會打破它。
誰能告訴我該怎麼做?或者我甚至認爲這是我應該做的事情?
非常感謝。
編輯:爲博客文章 PHP代碼中插入
if (isset($_POST['blogpost'])) {
$nowdate = new DateTime('NOW');
$thisdate = $nowdate->format('Y-m-d H:i:s');
$post = $_POST['blogpost'];
$title = $_POST['posttitle'];
$status = 'yes';
try {
$conn = new PDO('mysql:host=host;dbname=dbname', $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('INSERT INTO blogposts(posttext, thisdate, posttitle, active) VALUES(:post, :postdate, :posttitle, :status)');
$stmt->execute(array(
':post'=>$post, ':postdate'=>$thisdate, ':posttitle'=>$title, ':status'=>$status
));
//echo $stmt->rowCount(); // 1
} catch(PDOException $e) {
echo 'Error: ' . $e->getMessage();
echo 'died';
};
}
嘗試2個反斜槓!另外,我認爲你應該刪除'\「而不是\\ – HamZa
'stripslashes()'是你正在尋找的函數,但是最好是你顯示你的代碼以便從數據庫中插入和檢索。它正確地你不應該這樣做。 – Barmar
@HamZa工作。:)謝謝。 – TryingToBeZen