ปล่อยของก่อนเลิกงานกลับบ้าน 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 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>';
}
} muksuck77 ตอบกลับเมื่อ 2015-7-9 13:40
ขอไฟล์ Out.php แบบดิบๆหน่อยครับ หามาแล้ว มันไม่วิ่งไปเว็บอื่น นิ่งอยู่เลย รบกวนหน่อยครับ
เอาไปแก้เอานะครับ
edit ไม่ได้ <b> กับ <font> ออกก่อนนะครับ 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>';
}
}
}
โทษทีครับ ผมไม่ค่อยได้เข้ามาดูกระทู้เลย เลยไม่ได้ให้คำตอบ แต่ถือว่าเก่งนะครับ พยายามแก้ใหม่เองจนสำเร็จ
ปกติ ผมจะเข้ามาเฉพาะตอนคิดจะทำอะไรเพิ่ม พวกลูกเล่นอะไรแปลก ๆ ให้แตกต่างจากคนอื่นเค้าหน่อยอ่ะครับ ถ้าสงสัยอะไร แนะนำว่าให้ pm ไว้ดีกว่า exorcist-3z ตอบกลับเมื่อ 2015-4-26 23:25
แก้ได้แล้วครับ โดยการเปลี่ยนโค๊ดเป็นดังนี้
ขอไฟล์ Out.php แบบดิบๆหน่อยครับ หามาแล้ว มันไม่วิ่งไปเว็บอื่น นิ่งอยู่เลย รบกวนหน่อยครับ
เฮียนี้ ม้ามืดแฮะ เก่งต้องออกมาแสดงฝีมือ อย่าหมกเม็ดครับ sm926dz muksuck77 ตอบกลับเมื่อ 2015-7-9 13:40
ขอไฟล์ Out.php แบบดิบๆหน่อยครับ หามาแล้ว มันไม่วิ่งไปเว็บอื่น นิ่งอยู่เลย รบกวนหน่อยครับ
Test หรือ Go Live ครับ ที่มีปัญหา ลองแล้ว เว็บ/out.php?out=aHR0cDovL3d3dy5kaXNjdXp0aGFpLmNvbS90aHJlYWQtMzM3NTAtMS0xLmh0bWw
เข้าไปได้แล้ว แต่พอครบ 5 วิมันรีเฟรชลิงค์
เว็บ/out.php?out=aHR0cDovL3d3dy5kaXNjdXp0aGFpLmNvbS90aHJlYWQtMzM3NTAtMS0xLmh0bWw
อย่างเดิมตลอดเลยอ่ะครับ
หน้า:
[1]