ereg() เป็นฟังชั่นที่ใช้ตรวจสอบอักขระหรือคำ โดยให้ความสำคัญกับตัวอักษรตัวพิมพ์เล็กและตัวอักษรพิมพ์ใหญ่
รูปแบบการใช้งานฟังชั่น ereg()
string pattern คือ เงื่อนไขที่กำหนดในการตรวจสอบสตริง
string master คือ ชุดสตริงต้นฉบับที่ต้องการตรวจสอบ
array regs คือ กำหนดชื่อตัวแปรอาเรย์ที่ต้องการให้เก็บค่าตัวอักขระเมื่อมีค่าเป็นจริง จะกำหนดหรือไม่ก็ได้
ตัวอย่างที่ 1 การใช้ฟังชั่น ereg()
pattern ที่ได้กำหนดไว้คือ ing$ หมายความว่าให้ตรวจสอบสตริงที่ลงท้ายด้วยคำว่า ing ถ้าผลการตรวจสอบพบคำว่า ing ฟังชั่น ereg() จะคืนค่าเป็นจริงกลับมาให้ และถ้าไม่พบจะคืนค่าเท็จ
ตัวอย่างที่ 2 การใช้ฟังชั่น ereg()
([0-9]{4}) คือ ต้องเป็นตัวเลขและมีจำนวน 4 ตัวเท่านั้น
([0-9]{1,2}) คือ ต้องเป็นตัวเลข และ มีน้อยสุด 1 ตัว และมากสุด 2 ตัว
ส่วนเครื่องหมาย - (ขีดกลาง) ใช้เพื่อใช้คั่นระหว่าง pattern แต่ละตัว เพื่อตรวจสอบรูปแบบข้อมูลวันที่ว่าตรงตามแบบ YYYY-MM-DD หรือไม่
$time เป็นตัวแปร์อาเรย์เก็บค่าของแต่ละ pattern ไว้เรียกใช้โดยเรียงลำดับดังนี้ $time[0] $time[1] $time[2]
ตัวอย่างที่ 3 การใช้ฟังชั่น ereg()
การตรวจสอบอักขระจุด . จะต้องมีเครื่องหมาย \ วางข้างหน้า เพื่อให้รู้ว่าเป็นอักขระไม่ใช่สัญลักณ์ใดๆ
หมายเหตุ: ฟังชั่น ereg() จะให้ความสำคัญกับอักษรตัวใหญ่และตัวเล็ก ถ้าไม่ต้องการให้ความสำคัญกับอักษรตัวเล็กตัวใหญ่ให้ใช้งานฟังชั่น eregi() ซึ่งมีรูปแบบการใช้งานเหมือนกับฟังชั่น ereg()
http://forum.datatan.net/index.php/topic,591.0.html
รูปแบบการใช้งานฟังชั่น ereg()
อ้างถึง
ereg(string pattern,string master,array regs)
string pattern คือ เงื่อนไขที่กำหนดในการตรวจสอบสตริง
string master คือ ชุดสตริงต้นฉบับที่ต้องการตรวจสอบ
array regs คือ กำหนดชื่อตัวแปรอาเรย์ที่ต้องการให้เก็บค่าตัวอักขระเมื่อมีค่าเป็นจริง จะกำหนดหรือไม่ก็ได้
ตัวอย่างที่ 1 การใช้ฟังชั่น ereg()
โค๊ด:
<?
$word = array("sitting","swimming","walk","coming","put");
for($i=0;i<count($word);$i++)
{
if(ereg("ing$",$word[$i]))
echo $word[$i] . "<br>"
/*
ผลลัพธ์ที่ได้คือ
sitting
swimming
coming
*/
}
?>
$word = array("sitting","swimming","walk","coming","put");
for($i=0;i<count($word);$i++)
{
if(ereg("ing$",$word[$i]))
echo $word[$i] . "<br>"
/*
ผลลัพธ์ที่ได้คือ
sitting
swimming
coming
*/
}
?>
pattern ที่ได้กำหนดไว้คือ ing$ หมายความว่าให้ตรวจสอบสตริงที่ลงท้ายด้วยคำว่า ing ถ้าผลการตรวจสอบพบคำว่า ing ฟังชั่น ereg() จะคืนค่าเป็นจริงกลับมาให้ และถ้าไม่พบจะคืนค่าเท็จ
ตัวอย่างที่ 2 การใช้ฟังชั่น ereg()
โค๊ด:
<?
$date = "2009-10-03";
if(ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$date,$time))
{
echo "รูปแบบวันที่เดิม $date <br>";
echo "รูปแบบวันที่ใหม่ $time[2]/$time[1]/$time[0]"
}
else
{
echo "รูปแบบวันที่ไม่ถูกต้อง";
}
/*
ผลลัพธ์คือ
รูปแบบวันที่เดิม 2009-10-03
รูปแบบวันที่ใหม่ 03/10/2009
*/
?>
จากตัวอย่างกำหนด pattern เป็น ([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ซึ่งมีความหมายดังนี้$date = "2009-10-03";
if(ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$date,$time))
{
echo "รูปแบบวันที่เดิม $date <br>";
echo "รูปแบบวันที่ใหม่ $time[2]/$time[1]/$time[0]"
}
else
{
echo "รูปแบบวันที่ไม่ถูกต้อง";
}
/*
ผลลัพธ์คือ
รูปแบบวันที่เดิม 2009-10-03
รูปแบบวันที่ใหม่ 03/10/2009
*/
?>
([0-9]{4}) คือ ต้องเป็นตัวเลขและมีจำนวน 4 ตัวเท่านั้น
([0-9]{1,2}) คือ ต้องเป็นตัวเลข และ มีน้อยสุด 1 ตัว และมากสุด 2 ตัว
ส่วนเครื่องหมาย - (ขีดกลาง) ใช้เพื่อใช้คั่นระหว่าง pattern แต่ละตัว เพื่อตรวจสอบรูปแบบข้อมูลวันที่ว่าตรงตามแบบ YYYY-MM-DD หรือไม่
$time เป็นตัวแปร์อาเรย์เก็บค่าของแต่ละ pattern ไว้เรียกใช้โดยเรียงลำดับดังนี้ $time[0] $time[1] $time[2]
ตัวอย่างที่ 3 การใช้ฟังชั่น ereg()
โค๊ด:
<?
$domain = "datatan.net";
if(ereg("\.com|\.net|\.org",$domain,$dot))
echo "ชื่อโดเมน $domain มีนามสกุลเป็น $dot[0]"
/*
ผลลัพธ์ที่ได้คือ
ชื่อโดเมน datatan.net มีนามสกุลเป็น .net
*/
?>
จากตัวอย่าง pattern คือ \.com|\.net|\.org หมายความว่าให้ตรวจสอบชุดสตริงที่มีคำว่า .com .net .org ตัวใดตัวหนึ่งอยู่หรือไม่$domain = "datatan.net";
if(ereg("\.com|\.net|\.org",$domain,$dot))
echo "ชื่อโดเมน $domain มีนามสกุลเป็น $dot[0]"
/*
ผลลัพธ์ที่ได้คือ
ชื่อโดเมน datatan.net มีนามสกุลเป็น .net
*/
?>
การตรวจสอบอักขระจุด . จะต้องมีเครื่องหมาย \ วางข้างหน้า เพื่อให้รู้ว่าเป็นอักขระไม่ใช่สัญลักณ์ใดๆ
หมายเหตุ: ฟังชั่น ereg() จะให้ความสำคัญกับอักษรตัวใหญ่และตัวเล็ก ถ้าไม่ต้องการให้ความสำคัญกับอักษรตัวเล็กตัวใหญ่ให้ใช้งานฟังชั่น eregi() ซึ่งมีรูปแบบการใช้งานเหมือนกับฟังชั่น ereg()
http://forum.datatan.net/index.php/topic,591.0.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น