3

我的字符串是

$str = '<img src="\"images/hai.jpg\"" alt="" /> Text <img src="\"images/hai.jpg\"" alt="" />';

我想从字符串中删除所有 \" 。

4

3 回答 3

8

我认为您不是在寻找正则表达式,而是在寻找stripslashes($str)方法。

编辑:从评论中,我知道你只会\"用任何东西替换,你应该在这里使用一个简单str_replace的,正如@Gumbo 所说:

$str = ...;
$newStr = str_replace('\"', '', $str);

echo $newStr;

你可以为此使用正则表达式,但 pReg 库并不快,如果你能找到一个 str_* 或数组变体,我总是建议使用它而不是 preg_*

于 2012-12-16T18:03:29.997 回答
1

使用stripslashes($str)不会总是\从字符串中删除 ALL 。如果存在 an 的实例\\,它将变成一个斜线,而不是 0。要摆脱它们,最好的办法可能是使用str_replace.

而且正如 OP 所说,他希望删除/"需要使用str_replace

于 2012-12-16T18:06:55.183 回答
1

这看起来像是一种经过多个转义序列的数据字符串。您可能想要查找反斜杠和重复引号的根本原因。在 PHP 中,魔术引号会导致这种情况。如果你能看到这篇文章,它将解释这些问题。

http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_6630-Magic-Quotes-a-bad-idea-from-day-one.html

HTH,~雷

于 2012-12-16T18:08:51.800 回答