2010-06-08 4 views
0

Tout le monde a une idée de comment je peux utiliser Jquery pour trouver: http: // ou www. et se termine par .com, .org, .edu magasin qui comme une variable et l'envelopper dansjquery pour reconnaître et faire des hyper liens

<a href="variable"> <a/> 

J'ai un textarea et quand les gens mis en liens, je voudrais alors les faire en hyperliens une fois ils sont affichés.

Avez-vous du sens?

+1

Si vous ne voulez pas le faire jusqu'à ce qu'ils soient affichés, vous voulez faire avec le code côté serveur plutôt que jquery. Si vous utilisez JS pour créer un aperçu de la publication avant sa soumission, l'utilisation de jquery aurait du sens. – intuited

Répondre

1

permet de dire la zone de texte contient,

http://site1.com/uri/ 
http://site2.net/uri 
http://site3.org/uri 
http://site4.co.uk/uri 
http://site5.ws/uri 

La première chose que je voudrais faire est de lier un même pour le codage sur la zone de texte

$('#addLinks').bind('keyup',function(){ 
    var _data = $(this).val(); 
    //Then i would try and split the spaces and carriages 
    _array = _data.split('\n|\r\n|\s|,'); //Split by returns,new lines,spaces,commas. 
    var _regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ 
    $(_array).each(function(value){ 
     //Now i will check the URL is valid 
     if(_regex.test(value)) 
     { 
      //Valid URL so i will then append it to the links container 
      //Here you can do e 
      $('<a></a>').attr('href',value).val(value).appendTo('.linksContainer'); 
     } 
    }) 
}); 

Quelque chose le long de leurs lignes!

Regex emprunté à: http://snippets.dzone.com/posts/show/452

0

rouleau votre propre chemin:

var foo = $('textarea selector').val(); 

puis utiliser une expression régulière pour obtenir ce que vous voulez. puis le recoller dans la zone de texte

$('textarea selector').val('http://thenewlink'); 

chemin plugin facile:

7 jQuery Plugins to Manipulate TEXTAREAs

Questions connexes