1

次のようなタグがいくつか付いたテキストがあるとします。

[twitter:jpunt]

それらを次のようなものに置き換えたいと思います。

<a href="http://twitter.com/jpunt">@Jpunt</a>

Rubyでこれを行うにはどうすればよいですか?私は数時間正規表現を研究してきましたが、結果として多くの欲求不満が生じました。誰?

4

2 に答える 2

1

これは仕事をするはずです:

initial = "[twitter:jpunt]"
link = initial.gsub(/\[twitter:(\w+)\]/i, '<a href="http://twitter.com/\1">@\1</a>')
于 2012-07-20T19:50:01.480 に答える
0

これは1行のコードです(このコードをテストするには、ここをクリックしてください)>>

output = input.gsub(/\[([^:]+):([^\]]+)\]/) {
  '<a href="http://' + $1 + '.com/' + $2 + '">@' + $2.capitalize + '</a>' }

上記のコードは、任意のタグ名で機能します。Twitterだけを許可したい場合は、変更を加えてください。

output = input.gsub(/\[twitter:([^\]]+)\]/) {
  '<a href="http://twitter.com/' + $1 + '">@' + $1.capitalize + '</a>' }
于 2012-07-20T20:24:38.697 に答える