Ruby on rails 从字符串创建链接
我使用的是RubyonRails 3,我想从字符串中提取第一个URL或电子邮件地址,然后使用生成的字符串(示例:“Ruby on rails 从字符串创建链接,ruby-on-rails,ruby,ruby-on-rails-3,email,url,Ruby On Rails,Ruby,Ruby On Rails 3,Email,Url,我使用的是RubyonRails 3,我想从字符串中提取第一个URL或电子邮件地址,然后使用生成的字符串(示例:“http://www.test.com,“邮件收件人:test@test.com“,…)作为HTML中使用的href属性值 我如何才能以最安全的方式进行操作? 附言:但这并不能满足我的需要。好的,您可能不想要正则表达式,但它可以工作,您可以将它用作帮助器 URL的代码: str = "http://someurl.com/" str.scan(/http:\/\/([^\/]*)/)
http://www.test.com
,“邮件收件人:test@test.com
“,…)作为HTML
中使用的href
属性值
我如何才能以最安全的方式进行操作?
附言:但这并不能满足我的需要。好的,您可能不想要正则表达式,但它可以工作,您可以将它用作帮助器 URL的代码:
str = "http://someurl.com/"
str.scan(/http:\/\/([^\/]*)/)
电子邮件代码:
str = "mailto:someemail@email.com"
str.scan(/mailto:([^ ]*)/)
总而言之:
result_array = str.scan(/mailto:([^ ]*)|http:\/\/([^\/]*)/)
if result_array.length > 0
result = result[0][0] unless empty? result[0][0]
result = result[0][1] unless empty? result[0][1]
end
好的,您可能不需要正则表达式,但它可以工作,您可以将其用作帮助器 URL的代码:
str = "http://someurl.com/"
str.scan(/http:\/\/([^\/]*)/)
电子邮件代码:
str = "mailto:someemail@email.com"
str.scan(/mailto:([^ ]*)/)
总而言之:
result_array = str.scan(/mailto:([^ ]*)|http:\/\/([^\/]*)/)
if result_array.length > 0
result = result[0][0] unless empty? result[0][0]
result = result[0][1] unless empty? result[0][1]
end
如果只需要字符串中的第一个链接,可以使用match。此外,您希望使用非贪婪匹配:
str.match(/mailto:([^ ]*?( |$|\n))|http:\/\/([^\/]*?)( |$|\n)/)
如果愿意,您可以添加更多有效电子邮件地址检查等
获得字符串后,可以使用“自动链接”从中创建链接。如果只需要字符串中的第一个链接,可以使用“匹配”。此外,您希望使用非贪婪匹配:
str.match(/mailto:([^ ]*?( |$|\n))|http:\/\/([^\/]*?)( |$|\n)/)
如果愿意,您可以添加更多有效电子邮件地址检查等
获得字符串后,可以使用auto_link从中创建链接。域名和主机名中可以包含
-
或
字符,电子邮件用户名具有特定于系统的定义。这里有一个尝试共享DNS解析的Hull matcher
/((https*\:\/\/)|(mailto:[^@]+@))(\/*[\w\-rb.]+)*/
域名和主机名中可以包含
-
或
字符,电子邮件用户名具有特定于系统的定义。这里有一个尝试共享DNS解析的Hull matcher
/((https*\:\/\/)|(mailto:[^@]+@))(\/*[\w\-rb.]+)*/
哦,对不起,你写的最安全的地方我读得最快,但答案仍然有效对不起,
null?
?你说的这个神奇的方法是什么?我想到了“nil”并写了“null?”,但显然我把它和“empty”方法混淆了。抱歉,编辑答案哦,抱歉,你写的最安全,我读得最快,但答案仍然有效对不起,null?
?你说的这个神奇的方法是什么?我想到了“nil”并写了“null?”,但显然我把它和“empty”方法混淆了。很抱歉,正在编辑答案