Найти и заменить в блоке текста - PullRequest
1 голос
/ 20 марта 2010

У меня есть база данных, заполненная текстовыми полями, которые выглядят следующим образом:

(paragraph of normal text)

image:blog/clownboy.jpg

(another paragraph)

Я пытаюсь написать помощник вида для Rails, который будет принимать один из этих больших блоков текста, найти биты как"image: blog / clownboy.jpg" и замените их соответствующими <img src="blog/clownboy.jpg"> (не нарушая окружающие пробелы) перед выводом их пользователю.Я пытался в течение часа или около того, но я новичок в Ruby, и регулярные выражения все еще немного за мной.

Ответы [ 2 ]

3 голосов
/ 20 марта 2010

Глобальное замещение image: xyz в отдельной строке с <img src='xyz'/>:

text.gsub!(/^image:(.+)$/) { "<img src='#{$1}'/>" }
1 голос
/ 20 марта 2010

Какую базу данных вы используете? Возможно, вы захотите сделать эту замену на уровне запроса ...

Будет работать функция REPLACE, вы можете использовать ее в MySQL, SQL Server и т. Д.

SELECT REPLACE('abcdefghicde','cde','xxx');

http://www.electrictoolbox.com/mysql-select-replace/

http://msdn.microsoft.com/en-us/library/ms186862.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...