[erlang-questions] Problems with re:replace/4
Antoine Koener
antoine.koener@REDACTED
Fri Jul 22 09:51:08 CEST 2011
Whenever you deal with re module and the \ character, try \\ instead.
There's 2 levels of filtering.
Maybe this will help :))
On 22 juil. 2011, at 09:39, Paul Burt <paul.burt@REDACTED> wrote:
> Hi,
>
> I'm a newcomer to Erlang and am interested in writing some helper
> functions to parse and manipulate responses from the Twitter API for
> use in a web application.
>
> What I would like to do is replace "@mention" and "#hashtag" with HTML
> markup as follows:
>
> @mention --> <a href="http://twitter.com/mention">@mention</a>
> #hashtag --> <a href="http://search.twitter.com/search?tag=hashtag">#hashtag</a>
>
> In other words transform Twitter @mentions and #hashtags into clickable links.
>
> I have the basic structure of a function (tweetify/1) to do this
> below. The ???? represent where I'm running into trouble:
>
> tweetify(Input) ->
> Replacements = [
> {"@(?<mention>\\w+)", "<a href=\"http://twitter.com/????\">&</a>"},
> {"#(?<hashtag>\\w+)", "<a
> href=\"http://search.twitter.com/search?tag=????\">&</a>"}
> ],
> lists:foldl(fun({RE, Replacement}, Tweet) ->
> re:replace(Tweet, RE, Replacement, [global,
> {return, binary}])
> end, Input, Replacements).
>
> Whilst I understand that the token "&" will insert _everything_
> matched by the regular expression (i.e. @mention and #hashtag
> respectively), how do I use the named tags in the replacement string?
> In other words, how do I get hold of \k<mention> and \k<hashtag> in
> the PCRE idiom and use them in the replacement string?
>
> Thanks in advance for any assistance/pointers.
>
> -Paul
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
More information about the erlang-questions
mailing list