PHP从数据库中删除的字符串中删除\

时间:2013-07-05 15:08:48

标签: php mysql tinymce

我建立了一个使用WYSIWYG编辑器(TinyMCE)的博客。您构建一篇博文,发布它,并将其存储在MySQL数据库中。然后该帖子被其他页面拉出。对你们大多数人来说简单的事情我很有信心。

它在我的测试服务器上工作正常,因此我将其切换到另一台服务器,现在图像无法在视图博客页面上正确显示。

我检查了img网址,看起来像这样。

<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 个答案:

答案 0 :(得分:3)

您可以使用stripslashes()来取消字符串。

$post = stripslashes($post);

答案 1 :(得分:2)

试试这个

$cleanpost = str_replace('\"', '',$post);