ruby html 转义,Ruby:转义字符串中的特殊字符

作者尝试创建一个类似于PHP中MysqLi_real_escape_string的功能,用于转义字符串中的特殊字符,并分享了一个初步实现的Ruby方法,但实际输出与预期不符,寻求帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在尝试编写一个与

PHP中的MysqLi_real_escape_string相同的方法.它需要一个字符串并逃脱任何“危险”的角色.我已经找了一种能为我做这个的方法,但我找不到一个.所以我试着自己写一个.

这就是我到目前为止(我在Rubular.com测试了模式并且它有效):

# Finds the following characters and escapes them by preceding them with a backslash. Characters: ' " . * / \ -

def escape_characters_in_string(string)

pattern = %r{ (\'|\"|\.|\*|\/|\-|\\) }

string.gsub(pattern,'\\\0') #

end

我使用start_string作为我想要更改的字符串,并将correct_string作为我想要的start_string转换为:

start_string = %("My" 'name' *is* -john- .doe. /ok?/ C:\\Drive)

correct_string = %(\"My\" \'name\' \*is\* \-john\- \.doe\. \/ok?\/ C:\\\\Drive)

有人可以尝试帮助我确定为什么我没有得到我想要的输出(correct_string)或者告诉我在哪里可以找到这样做的方法,或者更好地告诉我两者?非常感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值