Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 自动检测字符串中的值类型,以便考虑URL、电子邮件地址、_Ruby On Rails_Ruby_Regex_Ruby On Rails 3_Input - Fatal编程技术网

Ruby on rails 自动检测字符串中的值类型,以便考虑URL、电子邮件地址、

Ruby on rails 自动检测字符串中的值类型,以便考虑URL、电子邮件地址、,ruby-on-rails,ruby,regex,ruby-on-rails-3,input,Ruby On Rails,Ruby,Regex,Ruby On Rails 3,Input,我正在使用RubyonRails3,我想在视图中显示URL和电子邮件地址作为链接。我检索用户在表单输入文本字段中键入的URL和电子邮件地址信息,因此需要使用正则表达式 我该怎么办? 顺便说一句: 从中,我有以下regexp: (?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<

我正在使用RubyonRails3,我想在视图中显示URL和电子邮件地址作为链接。我检索用户在表单输入文本字段中键入的URL和电子邮件地址信息,因此需要使用正则表达式

我该怎么办?


顺便说一句

从中,我有以下regexp:

(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))

也许,为了解决这个问题,我必须在底部插入一些其他字符(例如“\”、“/”、…)

如果我理解正确,那么在字符串中,您希望将所有链接和电子邮件地址转换为锚定标记吗

如果是这样,那么你应该试试这个方法

用法:

auto_link("Go to http://www.rubyonrails.org and say hello to david@loudthinking.com")
# => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org</a> and
#     say hello to <a href=\"mailto:david@loudthinking.com\">david@loudthinking.com</a>"
自动链接(“转到http://www.rubyonrails.org 向你的朋友问好david@loudthinking.com")
#=>“转到和
#“向……问好”

如果html在输出时出现转义,您可能需要在自动链接调用之前包含关键字“raw”。

如果我理解正确,那么您希望在字符串中将所有链接和电子邮件地址转换为锚定标记吗

如果是这样,那么你应该试试这个方法

用法:

auto_link("Go to http://www.rubyonrails.org and say hello to david@loudthinking.com")
# => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org</a> and
#     say hello to <a href=\"mailto:david@loudthinking.com\">david@loudthinking.com</a>"
自动链接(“转到http://www.rubyonrails.org 向你的朋友问好david@loudthinking.com")
#=>“转到和
#“向……问好”

如果html在输出时出现转义,您可能需要在自动链接调用之前包含关键字“raw”。

仅供参考,如果您没有使用Rails,您可以使用URI的方法来识别URL,然后对其进行迭代并
gsub
链接。在Ruby中,编写正则表达式的正确语法是:
regexp=/[0-9]/
regexp=regexp.new('[0-9]')
。仅供参考,如果您没有使用Rails,您可以使用URI的方法来识别URL,然后对其进行迭代,并对链接进行
gsub
,编写正则表达式的正确语法应该是:
regexp=/[0-9]/
regexp=regexp.new('[0-9]')