keiusui has asked for the wisdom of the Perl Monks concerning the following question:
For example, if the message was:
This site could be useful: http://www.google.com
then I would want the message to be replaced with:
This site could be useful: <a href="http://www.google.com">http://www.google.com</a>
Here is the Perl code that I have so far for the $message variable:
@message_words = split(/ /, $message); for($x = 0; $x < @message_words; $x++) { if($message_words[$x] =~ /^http:\/\//is) { $message_words[$x] = "<a href=\"$message_words[$x]">$message_words[$ +x]</a>";} } } $message = join(' ', @message_words);
The above code breaks up the message into individual words and replaces words that start with "http://" with an html link.
My problem is that if the word follows a line break rather than a space, then the line break is at the beginning of the word and the "http://" is not detected at all.
Can anyone provide better, more simple code rather than looping through every word?
Just to keep this simple, I am not worrying about special characters within URLs at this time.
Any help would be gratefully appreciated. Thank you so much!
|
|---|