从字符串中删除所有反斜杠 - php - 正则表达式 [关闭]
Posted
技术标签:
【中文标题】从字符串中删除所有反斜杠 - php - 正则表达式 [关闭]【英文标题】:Remove all backslashes from a string - php - regex [closed] 【发布时间】:2012-12-03 22:47:59 【问题描述】:我的字符串是
$str = '<img src="\"images/hai.jpg\"" /> Text <img src="\"images/hai.jpg\"" />';
我想从字符串中删除所有“\”。
【问题讨论】:
使用stripslashes($str)
简单的str_replace
怎么样? str_replace('\"', '', $str)
就完成了。
这个问题没有建设性。 OP 没有研究。
【参考方案1】:
我认为您不是在寻找正则表达式,而是在寻找 stripslashes($str)
方法。
编辑:从 cmets,我了解到您只会用任何内容替换 \"
,您应该在这里使用简单的 str_replace
,正如 @Gumbo 所说:
$str = ...;
$newStr = str_replace('\"', '', $str);
echo $newStr;
你可以为此使用正则表达式,但 pReg 库并不快,如果你能找到一个 str_* 或数组变体,我总是建议使用它而不是 preg_*
【讨论】:
他真的想删除\"而不仅仅是\ 他只想删除\"
,而不是所有\
。
@Michael 谢谢你,我已经编辑了问题
@WouterJ :但我想替换所有 \" 。 $str 是动态的,它可能包含许多 \"。
@FrancisMV123 我认为这正是我的代码的作用?【参考方案2】:
使用stripslashes($str)
不会总是从字符串中删除所有\
s。如果存在\\
存在的实例,它将变为一个斜线,而不是0。要摆脱它们,最好的办法可能是使用str_replace
。
正如 OP 所说,他希望删除 /"
,这需要使用 str_replace
来完成
【讨论】:
【参考方案3】:这看起来像是一种经过多个转义序列的数据字符串。您可能需要查找反斜杠和重复引号的根本原因。在 php 中,魔术引号会导致这种事情。如果您可以阅读本文,它将解释这些问题。
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_6630-Magic-Quotes-a-bad-idea-from-day-one.html
HTH,~雷
【讨论】:
这即将成为仅链接的答案。您能否从链接的文章中提供一些额外的背景信息?此外,虽然双重转义和/或魔术引号确实会导致一般问题,但从 OP 的实际问题来看,这里似乎并非如此。以上是关于从字符串中删除所有反斜杠 - php - 正则表达式 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章