2011-10-19 16 views
0

Rubyでは、HTML文字列内の指定されたURLを置き換えたいと考えています。Ruby:HTML文字列の指定されたURLを置き換えます。

escaped_url = url.gsub(/\//,"\/").gsub(/\./,"\.").gsub(/\?/,"\?") 
path_regexp = Regexp.new(escaped_url) 
html.gsub!(path_regexp, new_url) 

注:ここで
は私の失敗した試みであるurl/?|.=%:

+0

最初にヒントを示します.gsubは置換されたテキストを返します.gsub!あなたの変数を変更し、ゼロを返す – pguardiario

+0

ありがとう!修正済み –

答えて

2

gsubメソッドは、文字列や同じgsub!のために行く、最初の引数として正規表現を取ることができます。たとえば、次のように

>> 'here is some ..text.. xxtextxx'.gsub('..text..', 'pancakes') 
=> "here is some pancakes xxtextxx" 

まっすぐ文字列置換んので、あなたは正規表現を気にする必要はありませんか、まったくエスケープ:見つけるために、HTMLパーサを使用し、

html.gsub!(url, new_url) 

またはそれ以上をあなたが探している特定のノードであり、単純な属性割り当てを行います。

2

以上の特殊文字を持たないであろう、実際に私が書いたGoogleのチャートの要求URLである私はあなたのような何かを探していると思います:

path_regexp = Regexp.new(Regexp.escape(url)) 
+0

素晴らしい!それは私を救った:-) –

関連する問題