php ฟังก์ชั่น ตรวจสอบว่ามี url ในข้อความหรือไม่

php ฟังก์ชั่น ตรวจสอบว่ามี url ในข้อความหรือไม่

ใช้สำหรับตรวจสอบว่าข้อความนั้นๆ มีลิ้งค์ url ทั้งที่แบบมี http https และรูปแบบอื่นๆ ในลักษณะการอ้างอิงถึงลิ้งค์ของเว็บไซต์ต่างๆ อยู่ในข้อความนั้นๆ หรือไม่ ถ้าคืนค่าเป็น 1 พรือ true แสดงว่ามี สามารถนำไปประยุกต์ในการสร้างเงื่อนไขการทำงานได้

<?php
function urldetect($str){
    $regex = "((https?|ftp)://)?"; // SCHEME
    $regex .= "([a-z0-9+!*(),;?&=\$_.-]+(:[a-z0-9+!*(),;?&=\$_.-]+)?@)?"; // User and Pass
    $regex .= "([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))"; // Host or IP address
    $regex .= "(:[0-9]{2,5})?"; // Port
    $regex .= "(/([a-z0-9+\$_%-]\.?)+)*/?"; // Path
    $regex .= "(\?[a-z+&\$_.-][a-z0-9;:@&%=+/\$_.-]*)?"; // GET Query
    $regex .= "(#[a-z_.-][a-z0-9+$%_.-]*)?"; // Anchor
	return preg_match("~^$regex$~i", $str, $m);
}
// สมมติมีการส่งค่ามาผ่าน url มาแล้วเราต้องการตรวจสอบว่ามีลิ้งค์ หรือ url หรือไม่
if(urldetect($_GET['keyword'])){
	header("Location:notfound.html");
	exit;
}
?>




< Back รวม Snippets










เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ