รวม Snippets

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;
}
?>



คำสั่ง JavaScript ดึงรูปจาก Facebook Album

แนวทางการใช้งาน จะใช้ผ่าน console ของ dev tool 
โดยเปิดไปหน้ารูปรวมของ album ที่ต้องการ จากนั้น เลื่อน scrollbar เพื่อแสดง
รายการรูปทั้งหมด

var urlStr = ""; // ตัวแปรเก็บ url รายการลิ้งค์ของรูป
var n_i = document.querySelectorAll("a[href*='photo.php']").length; // จำนวนรูปจากการนับ
var n_i  = 5; // จำนวนรูปจากการกำหนด
var n_v = 0; // ตำแหน่งเริ่มของรูป
function getImg(n_v){
    if(n_v<n_i){
        document.querySelectorAll("a[href*='photo.php']")[n_v].click();
        setTimeout(function(){
            if(document.querySelectorAll("img[data-visualcompletion='media-vc-image']").length>0){
				urlStr += '<img src="';
				urlStr += document.querySelectorAll("img[data-visualcompletion='media-vc-image']")[0].src;
				urlStr += '">';
				urlStr += '\r\n';
				document.querySelectorAll("div[aria-label='Close']")[0].click();
			}
			n_v++;
			setTimeout(function(){
					getImg(n_v);          			
			},500); 	
        },1000);
    }else{
        console.log(urlStr);
    }
}
getImg(n_v);


หลังจากได้รายการรูป นำไปสร้าง HTML แท็ก image จากนั้นใช้โปรแกรมโหลดจาก url รูป



เข้ารหัส HTML สำหรับส่งค่าใน URL ด้วย PHP และ JavaScript

แนวทางทั้งสอง ใช้สำหรับเข้ารหัสหรือจัดรูปแบบของ HTML ให้สามารถ
ส่งค่าผ่าน url ไปใช้งานได้
 
PHP
 
urlencode(htmlentities("<strong>Title</strong>etc etc"));
 
JavaScript
 
function htmlentity(rawStr){
	return encodeURIComponent(rawStr.replace(/[\u00A0-\u9999<>\&]/gim, function(i) {
	   return '&#'+i.charCodeAt(0)+';';
	}));
}
htmlentity("<strong>Title</strong>etc etc");



แนวทาง คำสั่ง SQL เรียงข้อมูลภาษาไทย และภาษาอังกฤษในฟิลด์เดียวกัน

ตารางข้อมูลตัวอย่าง

CREATE TABLE tbl
    (`id` int, `data` varchar(9))
;
     
INSERT INTO tbl
    (`id`, `data`)
VALUES
    (1, 'ภาษาไทย'),
    (2, 'English'),
    (3, 'การศึกษา'),
    (4, 'Education')
;


คำสั่ง SQL

(SELECT
a.data,'th' lang
FROM tbl a 
WHERE NOT a.data REGEXP '[A-Za-z0-9]'
)
UNION ALL
(SELECT
b.data,'en' lang
FROM tbl b 
WHERE b.data REGEXP '[A-Za-z0-9]'
)
ORDER BY lang DESC,CONVERT(data using tis620) ASC


ผลลัพธ์



ใช้ htaccess แทนไฟล์รูปภาพที่ไม่พบ หรือไม่มี ด้วยภาพอื่น

วิธีนี้ใช้สำหรับกรณีเราไม่ต้องการเขียนโค้ด หากไม่พบไฟล์รูปที่จะแสดง ให้เอารูปอื่นมาแสดงแทน
ให้เราสร้างรูปสำหรับไว้แทนที่ไว้ที่ path ใดสักที่สมมติเช่นเป็น images และรูปที่เราเก็บอยู่ในโฟลเดอร์
uploads ให้เราสร้างไฟล์ .htaccess แล้วอัพไปไว้ที่โฟลเดอร์รูปหลัก ในที่นี้คือ uploads
แล้วกำหนดไฟล์ ดังนี้
 
    ไฟล์ .htaccess
 
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule \.(gif|jpe?g|png|bmp) /images/photoreplace.jpg [NC,L]
 
สมมติถ้าเรียกไปที่ไฟล์รูปที่ไม่มี เช่น https://www.example.com/uploads/notpic.jpg
รูปจะไปดึงจากไฟล์ https://www.example.com/images/photoreplace.jpg มาแสดงแทน















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