我的字符串是
$str = '<img src="\"images/hai.jpg\"" alt="" /> Text <img src="\"images/hai.jpg\"" alt="" />';
我想从字符串中删除所有\“。
答案 0 :(得分:8)
我认为你不是在寻找正则表达式,而是在寻找stripslashes($str)
方法。
编辑:从评论中我知道你只会在没有任何内容的情况下替换\"
,你应该在这里使用一个简单的str_replace
,正如@Gumbo所说:
$str = ...;
$newStr = str_replace('\"', '', $str);
echo $newStr;
你可以使用正则表达式,但pReg库不是很快,如果你能找到一个str_ *或数组变体,我总是建议使用它而不是preg _ *
答案 1 :(得分:0)
使用stripslashes($str)
并不总是从字符串中删除所有\
。如果存在\\
存在的实例,它将成为一个斜杠,而不是0.要全部删除它们,最好的方法是使用str_replace
。
并且如OP所述,他希望删除需要使用/"
str_replace
答案 2 :(得分:0)
这看起来像是通过多个转义序列的数据字符串。您可能希望查找反斜杠和重复引号的根本原因。在PHP中,魔术引号可能会导致这种情况。如果你能够阅读这篇文章,它将解释这些问题。
HTH,~Ray