S¡|€n7 โพสต์ 2015-2-18 23:27:08

ปล่อยของก่อนเลิกงานกลับบ้าน Link In & Link Out ลองเอาไปปรับใช้ดูครับ

ปล่อยของก่อนเลิกงานกลับบ้าน Link In & Link Out ลองเอาไปปรับใช้ดูครับ

   ขณะที่ผมจะเริ่มเขียนเป็นเวลา 11:01 น. ขาดตกบกพร่องต้องขออภัย อีกอย่างอธิบายไม่ค่อยเก่งครับ เน้นลงมืออย่างเดียว ลงข้อมูลครบจะกลับบ้านนอนเลย มีข้อสงสัย ถามไว้ เดี๋ยวมาตามตอบให้

   ก่อนอื่น ขอให้มีสกิล php และสกิลดูด และไปหาโหลดไฟล์ link out หรือทำไฟล์ใหม่ก็ได้เอาที่สบายใจครับ แต่ผมไม่มีไฟล์แจกนะ ลอง search เอาใน discuzthai.com นี่แหละ เอาของรุ่นเก่า ๆ มาใช้ได้ ยกเว้นรุ่นที่เป็น plug-ins นะ เดี๋ยวจะงงวุ่นวายกันไปใหญ่

   ไฟล์ที่ต้องแก้ไขคือ /source/function/function_discuzcode.php อันนี้คือฟังก์ชันต้นฉบับ เดิม ๆ ยังไม่มีการแก้ไขใด ๆ ทั้งสิ้น
function parseurl($url, $text, $scheme) {
      global $_G;
      if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
                $url = $matches;
                $length = 65;
                if(strlen($url) > $length) {
                        $text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
                }
                return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';
      } else {
                $url = substr($url, 1);
                if(substr(strtolower($url), 0, 4) == 'www.') {
                        $url = 'http://'.$url;
                }
                $url = !$scheme ? $_G['siteurl'].$url : $url;
                return '<a href="'.$url.'" target="_blank">'.$text.'</a>';
      }
}


   คราวนี้ผมจะปล่อยของ กี่แบบวะ งง เออ เอาเป็นว่ามีกี่หัวข้อก็ตามนั้น ผมจะไม่ย้อนขึ้นมาแก้ข้อความที่พิมพ์แล้วนะ

1. Link In & Link Out แบบไม่เข้ารหัส
function parseurl($url, $text, $scheme) {
      global $_G;
      if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
                $url = $matches;
                $length = 65;
                if(strlen($url) > $length) {
                        $text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
                }
                if(strstr($url, '<font color="#ff0000"><b>yourwebsitename</b></font>')) {
                        return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'"<b><font color="#4169e1"> target="_blank</font></b>>'.$text.'</a>';
                } else {
                        return '<a href="<b><font color="#9acd32">out.php?out=</font></b>'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';
                }
      } else {
                $url = substr($url, 1);
                if(substr(strtolower($url), 0, 4) == 'www.') {
                        $url = 'http://'.$url;
                }
                $url = !$scheme ? $_G['siteurl'].$url : $url;
                if(strstr($url, '<b><font color="#ff0000">yourwebsitename</font></b>')) {
                              return '<a href="'.$url.'"<b><font color="#4169e1"> target="_blank"</font></b>>'.$text.'</a>';
                } else {
                              return '<a href="<b><font color="#9acd32">out.php?out=</font></b>'.$url.'" target="_blank">'.$text.'</a>';
                }
      }
}

2.Link In & Link Out แบบเข้ารหัส
function parseurl($url, $text, $scheme) {
      global $_G;
      if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
                $url = $matches;
                $length = 65;
                if(strlen($url) > $length) {
                        $text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
                }
                if(strstr($url, '<font color="#ff0000"><b>yourwebsitename</b></font>')) {
                        return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'"<b><font color="#4169e1"> target="_blank"</font></b>>'.$text.'</a>';
                } else {
                        return '<a href="<b><font color="#9acd32">out.php?out=</font></b>'.str_replace('=', '', base64_encode(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url)).'" target="_blank">'.$text.'</a>';
                }
      } else {
                $url = substr($url, 1);
                if(substr(strtolower($url), 0, 4) == 'www.') {
                        $url = 'http://'.$url;
                }
                $url = !$scheme ? $_G['siteurl'].$url : $url;
                if(strstr($url, '<font color="#ff0000"><b>yourwebsitename</b></font>')) {
                              return '<a href="'.$url.'"<b><font color="#4169e1"> target="_blank"</font></b>>'.$text.'</a>';
                } else {
                              return '<a href="<b><font color="#9acd32">out.php?out=</font></b>'.str_replace('=', '', base64_encode($url)).'" target="_blank">'.$text.'</a>';
                }
      }
}

   เปลี่ยน youwebsitename ตามโดเมนของคุณ เช่นมีโดเมนเป็น discuzthai.com ก็ใส่ลงไปแค่ discuzthai เพราะระบบจำหาค่าตามที่กำหนด พอเจอแล้วจะหยุดค้นหาเลย และเพิ่มเติมให้ สำหรับ Link Out ถ้าไม่อยากให้เปิดหน้าต่างใหม่ตอนคลิก Link ก็ให้ลบ target="_blank" ออกครับ
แค่นี้ก็เรียบร้อย เลือกใช้ตามไฟล์ Linkout ที่โหลดมานะครับ ส่วน out.php?out= ก็เช่นกัน เปลี่ยนให้ตรงกับไฟล์ที่โหลดมานะครับ

exorcist-3z โพสต์ 2015-4-26 23:25:27

exorcist-3z ตอบกลับเมื่อ 2015-4-26 17:58
คือตอนตั้งกระทู้ ใส่ www.Google.com พอตั้ง กระทู้มันก็จะเป ...

แก้ได้แล้วครับ โดยการเปลี่ยนโค๊ดเป็นดังนี้
function parseurl($url, $text, $scheme) {
        global $_G;
        if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
                $url = $matches;
                $length = 65;
                if(strlen($url) > $length) {
                        $text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
                }
                return '<a href="http://www.munza.in.th/bbs/link/out.php?url='.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank" rel="nofollow">'.$text.'</a>';
        } else {
                $url = substr($url, 1);
                if(substr(strtolower($url), 0, 4) == 'www.') {
                        $url = 'http://'.$url;
                }
                $url = !$scheme ? $_G['siteurl'].$url : $url;
                return '<a href="http://www.munza.in.th/bbs/link/out.php?url='.$url.'" target="_blank" rel="nofollow">'.$text.'</a>';
        }
}

exorcist-3z โพสต์ 2015-7-20 22:24:10

muksuck77 ตอบกลับเมื่อ 2015-7-9 13:40
ขอไฟล์ Out.php แบบดิบๆหน่อยครับ หามาแล้ว มันไม่วิ่งไปเว็บอื่น นิ่งอยู่เลย รบกวนหน่อยครับ

เอาไปแก้เอานะครับ

S¡|€n7 โพสต์ 2015-2-18 23:28:24

edit ไม่ได้ <b> กับ <font> ออกก่อนนะครับ

exorcist-3z โพสต์ 2015-4-26 17:58:56

S¡|€n7 ตอบกลับเมื่อ 2015-2-18 23:28
edit ไม่ได้กับออกก่อนนะครับ

คือตอนตั้งกระทู้ ใส่ www.Google.com พอตั้ง กระทู้มันก็จะเป็น
link/out.php?out=http://www.google.com" target="_blank">www.google.com
มันไม่ยอมเป็นลิงค์ให้ครับ
พอตั้งแล้วมันต้องกดแก้ไข อีกรอบ แล้วบันทึกมันถึงจะเป็นลิงค์ให้อะครับ

มีวิธีแก้ไหมครับ

แก้ไข Code เป็น
function parseurl($url, $text, $scheme) {
      global $_G;
      if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {
                $url = $matches;
                $length = 65;
                if(strlen($url) > $length) {
                        $text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
                }
                if(strstr($url, 'Munza.in.th/bbs')) {
                        return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'"<b>target="_blank>'.$text.'</a>';
                } else {
                        return 'link/out.php?out='.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';
                }
      } else {
                $url = substr($url, 1);
                if(substr(strtolower($url), 0, 4) == 'www.') {
                        $url = 'http://'.$url;
                }
                $url = !$scheme ? $_G['siteurl'].$url : $url;
                if(strstr($url, 'munza.in.th/bbs')) {
                              return '<a href="'.$url.'"target="_blank">'.$text.'</a>';
                } else {
                              return '<a href="link/out.php?url='.$url.'" target="_blank">'.$text.'</a>';
                }
      }
}

S¡|€n7 โพสต์ 2015-5-7 21:09:40

โทษทีครับ ผมไม่ค่อยได้เข้ามาดูกระทู้เลย เลยไม่ได้ให้คำตอบ แต่ถือว่าเก่งนะครับ พยายามแก้ใหม่เองจนสำเร็จ

ปกติ ผมจะเข้ามาเฉพาะตอนคิดจะทำอะไรเพิ่ม พวกลูกเล่นอะไรแปลก ๆ ให้แตกต่างจากคนอื่นเค้าหน่อยอ่ะครับ ถ้าสงสัยอะไร แนะนำว่าให้ pm ไว้ดีกว่า

muksuck77 โพสต์ 2015-7-9 13:40:15

exorcist-3z ตอบกลับเมื่อ 2015-4-26 23:25
แก้ได้แล้วครับ โดยการเปลี่ยนโค๊ดเป็นดังนี้

ขอไฟล์ Out.php แบบดิบๆหน่อยครับ หามาแล้ว มันไม่วิ่งไปเว็บอื่น นิ่งอยู่เลย รบกวนหน่อยครับ

StaFF_PiRcH โพสต์ 2015-8-24 23:26:51

เฮียนี้ ม้ามืดแฮะ เก่งต้องออกมาแสดงฝีมือ อย่าหมกเม็ดครับ sm926dz

S¡|€n7 โพสต์ 2015-8-27 14:45:42

muksuck77 ตอบกลับเมื่อ 2015-7-9 13:40
ขอไฟล์ Out.php แบบดิบๆหน่อยครับ หามาแล้ว มันไม่วิ่งไปเว็บอื่น นิ่งอยู่เลย รบกวนหน่อยครับ

Test หรือ Go Live ครับ ที่มีปัญหา

beerqazasa โพสต์ 2015-9-11 09:08:18

ลองแล้ว เว็บ/out.php?out=aHR0cDovL3d3dy5kaXNjdXp0aGFpLmNvbS90aHJlYWQtMzM3NTAtMS0xLmh0bWw
เข้าไปได้แล้ว แต่พอครบ 5 วิมันรีเฟรชลิงค์
เว็บ/out.php?out=aHR0cDovL3d3dy5kaXNjdXp0aGFpLmNvbS90aHJlYWQtMzM3NTAtMS0xLmh0bWw
อย่างเดิมตลอดเลยอ่ะครับ
หน้า: [1]
ดูในรูปแบบกติ: ปล่อยของก่อนเลิกงานกลับบ้าน Link In & Link Out ลองเอาไปปรับใช้ดูครับ