如何从字符串中删除这个额外的字符?

时间:2013-09-24 22:37:58

标签: php mysql pdo

我有一个存储在数组中的字符串,最终使用php和PDO插入到SQL数据库中。当我查看数据库时,有一个= 20,它存储在我希望摆脱的字符串的末尾。

我的代码看起来像这样:

$name = trim($message_item[1]);
$name = addslashes($name);
$so_row = "INSERT into sales_order (name) VALUES('$name')";
$dbmrp->exec($so_row);

我认为trim()会删除任何额外的东西,但它似乎没有帮助。我可以使用preg_replace('/ \ s + /','',$ name)摆脱它,但后来我丢失了所有的空白,包括我想保留的中间空格。那么什么是= 20,我该如何摆脱它?

更多信息 - $ message_item是一个数组,它是通过爆炸从电子邮件中读取的字符串而创建的。

4 个答案:

答案 0 :(得分:2)

您可以使用substr()删除字符串末尾的“= 20”,如。

$name = substr($name, 0, -3);

http://php.net/manual/fr/function.substr.php

答案 1 :(得分:0)

rtrim($mesage_item[1], '=20');

答案 2 :(得分:0)

$name = preg_replace('/=20$/', '', $name);

答案 3 :(得分:0)

修剪仅适用于字符串开头和结尾的空格。 你可以像Donovan所说的那样去掉所有3个最后的角色。

$name = substr($name, 0, -3);

或用空

替换所有= 20
str_replace('=20', '', subject)

但我真的认为你应该弄清楚为什么你得到一个字符串,这个= 20。任何删除它的解决方案都只是一种解决方法。