Scala, как превратить «URL-адреса» в строках в узел XML тега привязки. - PullRequest
1 голос
/ 30 июля 2011

Пожалуйста, сначала посмотрите на этот пример ниже, чтобы понять, о чем я говорю.

Вводом является строка.XML (он же NodeSeq) будет выходным.

input string example = "Привет, это пример url http://www.example.com"

вывод строки example = <div>Hi this is an example url <a href="http://www.example.com">http://www.example.com</a></div>

Я не собираюсь использовать весь язык разметкипотому что я хочу, чтобы ссылки работали только тогда, когда я распечатывал их на своем веб-сайте.

Буду признателен за любые советы о том, как мне этого добиться.

1 Ответ

3 голосов
/ 30 июля 2011

Попробуйте:

val urlRegex = """(?i)\b(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]*[-A-Za-z0-9+&@#/%=~_|]""".r

def conv(s: String) = scala.xml.XML.loadString("<div>"+(urlRegex replaceAllIn (s, m => """<a href="%s">%s</a>""" format (m.matched, m.matched)))+"</div>")

См. этот вопрос о регулярных выражениях для URL.Приведенный выше пример является самым простым.

...