GORAGOD.com

GORAGOD.com

freelance, web developer, web designer, hosting, domain name

การแปลงลิงค์เพื่อส่งออกภายนอก

เราคงเคยเห็นตัวอย่างการบล๊อก URL ของอีเมล์ หรือ การทำลิงค์ เพื่อ redirect ออก นอกเว็บไซต์ โดยผ่าน URL ของเว็บเอง ตามเว็บไซต์ต่างๆ กันมาบ้างแล้ว หลักการของมันก็คือการแปลง URL ที่กรอกมาให้เป็น URL อื่นๆ ดังโค้ด
<?php
     $data =  '<a href="http://www.test.com">test</a>';
     $match = '/(<a.*?href=")(http:\/\/.*?)(".*?>.*?<\/a>)/e';
     $replace ='"\\1".changeURL("\\2")."\\3"';
     echo preg_replace($match, $replace, $data);

     function changeURL($url){
          return 'http://www.me.com/redirect.php?url='.rawurlencode($url);
     };
?>

ฟังก์ชั่น preg_replace จะทำการตรวจสอบว่าเป็น url โดยใช้ flag e เพื่อให้ประมวลผลฟังก์ชั่นได้
ฟังก์ชั่น changeURL จะทำหน้าที่ในการแปลง URL ให้มีรูปแบบตามที่ต้องการ
0SHAREFacebookLINE it!
^