AngularJS: conversione dei link testuali in link HTML

La conversione dei link testuali in link HTML è un'operazione semplice in AngularJS.

Possiamo creare il seguente filtro:


angular.module('AppFilters', []).filter('linkify', function($sce) {
	return function(text, phrase) {
		if(phrase) {
			text = text.replace(/(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, '<a href="$1">$1</a>');
		}
		return $sce.trustAsHtml(text);
	}
});

Esempio d'uso:


<p>{{text | linkify}}</p>