การใช้งานที่อยู่ URL จะเพิ่มโดยอัตโนมัติซึ่งเป็นเนื้อหาจริง: การตรวจจับและการเปลี่ยน
ทดสอบ
"การตรวจจับ" คือการตรวจสอบว่าข้อความ (สตริง) มีเนื้อหาที่ตรงกับที่อยู่ HTTP หรือไม่
การแสดงออกปกติของการตรวจสอบที่อยู่ HTTP มีดังนี้ (อาจมีการละเว้นหรือไม่ถูกต้องยินดีต้อนรับเพื่อแก้ไข):
คัดลอกรหัสรหัสดังนี้:
var reg =/(http: // | https: //) ((w wroads wbo = || ....... | && &-)+)/g;
ส่วนก่อนหน้านี้ตรงกับที่อยู่สตริง URL ที่จุดเริ่มต้นของ HTTP หรือ HTTPS และส่วนหลังจะถูกจับคู่กับอักขระบางตัวอักขระภาษาอังกฤษลงบรรทัด (_), dot (.), เครื่องหมายคำถาม (?) และจำนวนเท่ากับ ( =), เชื่อมต่อกับระยะสั้น (-) รอ
แทนที่ www.vevb.com
เมื่อพูดถึงฟังก์ชั่นการเปลี่ยนใน JavaScript สิ่งแรกที่นึกถึงคือแอตทริบิวต์การแทนที่โดยธรรมชาติ ตัวอย่างเช่นเราจำเป็นต้องเปลี่ยนพื้นที่ที่ปลายทั้งสองของสตริงเพื่อใช้คำสั่งต่อไปนี้:
คัดลอกรหัสรหัสดังนี้:
var s = "blank";
s = s.replace (/^S+(.*?) S+$/, "");
การแจ้งเตือน;
มันจะได้รับ "ว่างเปล่า" และพื้นที่ที่ปลายทั้งสองจะถูกลบออก ในทำนองเดียวกันตราบใดที่ที่อยู่ HTTP ที่ตรงกันจะถูกแทนที่ด้วย <a> ฉลากทำรัง HREF -ที่อยู่ HTTP ที่มีอยู่
ตัวอย่างเช่นนิพจน์นี้สามารถจับคู่ที่อยู่ URL ของ HTTP, HTTPS, FTP, FTPS และที่อยู่ IP
คัดลอกรหัสรหัสดังนี้:
var url =/(https ?: // | ftps?:/)? 0-9]+)?) ([w#!:.?+= &%@!-/]+)?/ig;
มันยังคงเป็นการจับคู่ที่อยู่ URL ที่สมบูรณ์ ฉันเขียนฟังก์ชั่นเล็ก ๆ สองอย่างด้วยนิพจน์นี้และแทนที่ที่อยู่ URL ของข้อความของผู้ใช้เป็นลิงค์ที่คลิกได้
คัดลอกรหัสรหัสดังนี้:
-
* เวอร์ชัน JavaScrip
* แปลงที่อยู่ URL เป็นรหัสลิงค์แท็กที่สมบูรณ์
-
var replumurStolink = ฟังก์ชั่น (ข้อความ) {
text = text.replace (url, function (url) {
var urltext = url;
if (! url.match ('^https ?: //') {{
url = 'http: //' + url;
-
ส่งคืน '' + urltext + '';
-
ส่งคืนข้อความ;
-