diff options
Diffstat (limited to 'SwifTools/Linkify.cpp')
-rw-r--r-- | SwifTools/Linkify.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/SwifTools/Linkify.cpp b/SwifTools/Linkify.cpp new file mode 100644 index 0000000..8654307 --- /dev/null +++ b/SwifTools/Linkify.cpp @@ -0,0 +1,17 @@ +#include "SwifTools/Linkify.h" + +#include <boost/regex.hpp> + +namespace Swift { + +static const boost::regex linkifyRegexp("(https?://([-\\w\\.]+)+(:\\d+)?(/([%-\\w/_\\.]*(\\?\\S+)?)?)?)"); + +String Linkify::linkify(const String& input) { + return String(boost::regex_replace( + input.getUTF8String(), + linkifyRegexp, + "<a href=\"\\1\">\\1</a>", + boost::match_default|boost::format_all)); +} + +} |