Nasıl bağlantıları ile düz URL değiştirmek için?
Aşağıdaki fonksiyon verilen bir metin içinde URL maç ve HTML bağlantıları için onları değiştirmek için kullanıyorum. Düzenli ifade harika çalışıyor, ama şu anda sadece ilk maç yerine duyuyorum.
Tüm URL değiştirin. Kullanarak olmalıyımexeckomut, ama gerçekten bunu nasıl yapacağımı bilmiyordum.
function replaceURLWithHTMLLinks(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9 &@#\/%?=~_|!:,.;]*[-A-Z0-9 &@#\/%=~_|])/i;
return text.replace(exp,"<a href='$1'>$1</a>");
}
CEVAP
Bağlantılar ile URL (Genel Soruna Cevap yerine takın
Soru düzenli ifade özlüyorbir sürüedge durumda. Ne zaman tespit URLs, her zaman daha iyi kullanmak için özel bir kütüphane bu işler uluslararası alan adları, yeni s " ras " yla gibi .museum
, parantez ve diğer noktalama içinde ve sonunda URL ve diğer birçok kenar durumlarda. Jeff Atwood blog gönderisine bakınThe Problem With URLsdiğer bazı konuları açıklaması için.
URL eşleşen kütüphaneleri en iyi özetiDan Dascalescu's Answer
(Şubat 2014 itibariyle)
"Normal ifade birden fazla yapmak yerine" (belirli bir soruna Cevap) . maç
Ekle "g" küresel eşleşen etkinleştirmek için düzenli ifadenin sonu
/ig;
Ama bu sadece düzenli ifade yalnızca ilk eşleşen bir değiştirme olduğu, söz konusu sorunun giderir.Bu kodu kullanmayın.
Nasıl gıt tamamlama belirtilen değişti...
Nasıl bir köprü jQuery kullanarak href...
Nasıl bir iOS app adını değiştirmek iç...
Nasıl iOS 7 Status Bar metin rengini d...
Nasıl ilerleme iletişim ve arka plan i...