Forum: Ruby on Rails Substitutions without eating newlines

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Whitedot (Guest)
on 2007-05-20 01:31
(Received via mailing list)
I'm writing this simple substitution method and I have a <textarea>
providing me with the input text. I have some multiline text:

This is
a *test*

Which I pass through to my async method in the variable @text.
In the method, my regular expression and gsub matches anything between
asterisks, and put it in brackets:

@text.gsub!(/\*(.*?)\*/m, '<\1>')

And this yields:

This is a <test> ok?

How can I get my regexp to stop eating the newlines? As you can see, I
have the multiline flag on. Am I missing something within the actual
regexp? Help would be greatly appreciated. Thanks!
David Balatero (Guest)
on 2007-05-20 07:58
(Received via mailing list)
This is odd, as running in irb yields the following:

irb(main):001:0> s = "This is\na *test*\nok?"
=> "This is\na *test*\nok?"
irb(main):002:0> s.gsub(/\*(.*?)\*/m, '<\1>')
=> "This is\na <test>\nok?"
irb(main):002:0> puts s.gsub(/\*(.*?)\*/m, '<\1>')
This is
a <test>

Here is my Ruby version:

david@redclay ~ $ ruby -v
ruby 1.8.5 (2006-08-25) [i686-linux]

I wonder why it works for me in irb, but not for you in your controller?
also ran it in script/console with Rails 1.2.3, and everything was
unknown (Guest)
on 2007-05-20 07:58
(Received via mailing list)
dear sender,
i´m out of the office until may 29th.
your email will not be forwarded.
for urgent stuff please contact removed_email_address@domain.invalid
kind regards,
This topic is locked and can not be replied to.