从字符串中删除多余的引号

时间:2014-06-07 16:53:05

标签: php mysql oop

所以我的数据库中有很多有问题的值。 有两列,一列是电子邮件。有些电子邮件以这种方式存储“foo@foobar.com ,起始时的引号无用。我希望将其转换为 foo@foobar.com 。 同样,还有另一个称为company的字段,其中包含类似 stackoverflow“的数据,结尾处的引号也需要删除。

我已编写此代码,但由于某些原因,这并未删除引号。 我究竟做错了什么 ? 欢迎任何建议。

global $conn;
        try
        {
            $statement= $conn->query("SELECT * from emails");
            $statement->setFetchMode(PDO::FETCH_ASSOC);
            while($rows = $statement->fetch())
            {
                $email=$rows['emailid'];
                $company=$rows['company'];
                $len = strlen($company);
                if($email{0} == '"')
                {
                    //problem at start
                    //fix there.
                    $updated = substr($email, 1);
                    //now update
                    try
                    {
                        $statement = $conn->prepare("UPDATE emails set emailid = :email where indexid = :indexid");
                        $statement->bindParam(':email',$updated);
                        $statement->bindParam(':indexid',$row['indexid']);
                        $statement->execute();
                        $statement->closeCursor();
                        return true;
                    }
                    catch(PDOException $e)
                    {
                        echo $e->getMessage();
                    }
                }
                elseif($company{$len-1} == '"')
                {
                    $updated = substr($company, 0, -1);
                    //now update
                    try
                    {
                        $statement = $conn->prepare("UPDATE emails set company = :company where indexid = :indexid");
                        $statement->bindParam(':company',$updated);
                        $statement->bindParam(':indexid',$row['indexid']);
                        $statement->execute();
                        $statement->closeCursor();
                        return true;
                    }
                    catch(PDOException $e)
                    {
                        echo $e->getMessage();
                    }
                }
                else
                {
                    echo "";
                }
            }
        }
        catch(PDOException $e)
        {
            echo $e->getMessage();
        }

1 个答案:

答案 0 :(得分:1)

你可以使用修剪:

trim($text, " \"'");

它从text变量的开头和结尾删除空格和引号