Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app.factory('Utilities', function ($q) {
- return {
- isImage: function (src) {
- var deferred = $q.defer();
- var image = new Image();
- image.onerror = function () {
- deferred.resolve(false);
- };
- image.onload = function () {
- deferred.resolve(true);
- };
- image.src = src;
- return deferred.promise;
- },
- replaceURLWithLink: function (text) {
- var expression = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
- return text.replace(expression, "<a href='$1' target='_blank'>$1</a>");
- },
- replaceURLWithImg: function (text) {
- var expression = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
- return text.replace(expression, "<a href='$1' target='_blank'><img src='$1' hieght='80' width='80' /></a>");
- },
- ProcessLinks: function (message) {
- var _self = this;
- var expression = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
- var matches = message.match(expression);
- if (matches[0].trim.length == message.trim.length) {
- _self.isImage(message).then(function() {
- return _self.replaceURLWithImg(message);
- });
- return _self.replaceURLWithLink(message);
- }
- return message;
- },
- HasLink: function (message) {
- var expression = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
- return message.match(expression) && message.match(expression).length > 0;
- }
- };
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement