chapter 7 string functions and regular expression

19
CHAPTER 7 String Functions and Regular Expression

Upload: betty

Post on 19-Jan-2016

37 views

Category:

Documents


7 download

DESCRIPTION

CHAPTER 7 String Functions and Regular Expression. Agenda. ฟังก์ชันเกี่ยวกับข้อความ (String Functions) นิพจน์ปกติ (Regular Expression). ฟังก์ชันเกี่ยวกับข้อความ. การตัดช่องว่างในสตริง - trim( ข้อความ ) สำหรับตัดช่องว่างทั้งหมดที่อยู่ด้านหน้าและด้านหลัง ของสตริงทิ้งไป - ltrim( ข้อความ ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CHAPTER 7 String Functions and Regular Expression

CHAPTER 7String Functions andRegular Expression

Page 2: CHAPTER 7 String Functions and Regular Expression

2PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

Agenda

• ฟั�งก�ช�นเก� ยวิก�บข้#อควิาม (String Functions)• น�พิจน�ปกต� (Regular Expression)

Page 3: CHAPTER 7 String Functions and Regular Expression

3PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

การต�ดช�องวิ�างในสตร�ง

- trim(ข้#อควิาม) ส'าหร�บต�ดช�องวิ�างท�(งหมดท� อย)�ด#านหน#าแลัะด#านหลั�งข้องสตร�งท�(งไป

- ltrim(ข้#อควิาม) ต�ดช�องวิ�างท� อย)�ด#านหน#า(ทางซ้#าย ) ท�(งไป

- chop(ข้#อควิาม) ต�ดช�องวิ�างท� อย)�ด#านหลั�ง (ทางข้วิา ) ท�(งไป

ฟั�งก�ช�นเก� ยวิก�บข้#อควิาม

ข้#อควิามท� อย)�ในวิงเลั-บ อาจเป.นข้#อควิามจร�งๆ หร0อเป.นต�วิแปรสตร�งก-ได# หากเป.นข้#อควิามจร�ง ๆ ให#เข้�ยนใน “ ”

Page 4: CHAPTER 7 String Functions and Regular Expression

4PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

<?$str1 =" Computer Science\n\n";print "String1 = ".$str1."<br>";echo "Length of String1 =".strlen($str1)."<br>";$str2 = trim($str1);echo "Length of String2 =".strlen($str2)."<br>";?>

trim()

Page 5: CHAPTER 7 String Functions and Regular Expression

5PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

<?$str1 =" Computer Science\n\n";print "String1 = ".$str1."<br>";echo "Length of String1 =".strlen($str1)."<br>";$str2 = ltrim($str1);echo "Length of String2 =".strlen($str2)."<br>";?>

ltrim()

Page 6: CHAPTER 7 String Functions and Regular Expression

6PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

<?$str1 =" Computer Science\n\n\n";print "String1 = ".$str1."<br>";echo "Length of String1 =".strlen($str1)."<br>";$str2 = chop($str1);echo "Length of String2 =".strlen($str2)."<br>";?>

chop()

Page 7: CHAPTER 7 String Functions and Regular Expression

7PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

<?$str =" Computer\n Science\nChiang Mai\n\n";print "String = ".$str."<br>";echo “use nl2br() <br>";echo "String = ".nl2br($str);?>

nl2br() เปลั� ยน \n ให#เป.น <br>

Page 8: CHAPTER 7 String Functions and Regular Expression

8PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

การเปลั� ยนร)ปแบบข้องต�วิอ�กษรฟั�งก์�ชั�น คำ�อธิ�บ�ย

strtoupper(ข้�อคำว�ม)strtolowar(ข้�อคำว�ม)ucfirst(ข้�อคำว�ม)

ucwords(ข้�อคำว�ม)

แปลงประโยคำให้�เป�นตั�วพิ�มพิ�ให้ญ่"แปลงประโยคำให้�เป�นตั�วพิ�มพิ�เล#ก์แปลงตั�วอ�ก์ษรตั�วแรก์ข้องประโยคำให้�เป�นตั�วพิ�มพิ�ให้ญ่"แปลงตั�วอ�ก์ษรตั�วแรก์ข้องคำ�ให้�เป�นตั�วพิ�มพิ�ให้ญ่"

ต�วิอย�างค'าส� ง$str = “Please ENTER your name”;strtoupper($str);strtolower($str);ucfirst($str);ucwords($str);

Page 9: CHAPTER 7 String Functions and Regular Expression

9PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

การเปร�ยบเท�ยบ น�บอ�กษร หาต'าแหน�ง สลั�บ แลัะซ้'(าข้#อควิามฟั�งก์�ชั�น คำ�อธิ�บ�ย

strcmp(ข้�อคำว�ม1,ข้�อคำว�ม2)

strlen(ข้�อคำว�ม)

strpos(ข้�อคำว�ม,อ�ก์ษร)

stripos(ข้�อคำว�ม,อ�ก์ษร)

strrpos(ข้�อคำว�ม,อ�ก์ษร)

strripos(ข้�อคำว�ม,อ�ก์ษร)

str_repeat(ข้�อคำว�ม,จำ�นวน)

เปร&ยบเที&ยบข้�อคำว�มที�(งสองว"�เห้ม*อนก์�นห้ร*อไม"

น�บจำ�นวนตั�วอ�ก์ษรในข้�อคำว�ม

ห้�ตั�แห้น"งอ�ก์ษรในข้�อคำว�ม โดยถื*อว"�อ�ก์ษรให้ญ่"เล#ก์ตั"�งก์�น ตั�แห้น"งแรก์ส/ดน�บเป�น 0 ถื��ไม"พิบจำะได�ผลล�พิธิ�เป�น False

เห้ม*อนก์�บ strpos แตั"อ�ก์ษรให้ญ่"เล#ก์ถื*อว"�เห้ม*อนก์�น

ห้�ว"�ตั�แห้น"งส/ดที��ยข้องอ�ก์ษรน�(นอย1"ตัรงไห้น โดยถื*อว"�อ�ก์ษรให้ญ่"เล#ก์ตั"�งก์�น

เห้ม*อนก์�บ strrpos แตั"อ�ก์ษรให้ญ่"เล#ก์ถื*อว"�เห้ม*อนก์�น

ส�ห้ร�บสร��งข้�อคำว�มซ้ำ(�ก์�นห้ล�ย ๆ คำร�(งเที"�ก์�บจำ�นวนคำร�(งที&4ระบ/

Page 10: CHAPTER 7 String Functions and Regular Expression

10PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

การต�ดข้#อควิามบางส�วินออกมาใช#ฟั�งก์�ชั�น คำ�อธิ�บ�ยstrstr(ข้�อคำว�ม,อ�ก์ษร)

stristr(ข้�อคำว�ม,อ�ก์ษร)

strrchr(ข้�อคำว�ม,อ�ก์ษร)

substr(ข้�อคำว�ม,start,length)

ห้�อ�ก์ษร โดยถื*อว"�อ�ก์ษรให้ญ่"เล#ก์ตั"�งก์�น เม*4อพิบแล�วเร�4มตั�ดเอ�ข้�อคำว�มตั�(งแตั"อ�ก์ษรน�(นไปจำนจำบ

เห้ม*อนก์�บ strstr แตั"อ�ก์ษรให้ญ่"เล#ก์ถื*อว"�เห้ม*อนก์�น

ห้�อ�ก์ษรเร�4มจำ�ก์ที��ยเข้��ม� โดยถื*อว"�อ�ก์ษรให้ญ่"เล#ก์ตั"�งก์�น เม*4อพิบแล�วตั�ดเอ�ข้�อคำว�มตั�(งแตั"ตั�วอ�ก์ษรน�(นไปจำนจำบข้�อคำว�ม

ตั�ดข้�อคำว�มโดยเอ�ตั�(งแตั"ตั�แห้น"ง start (อ�ก์ษรตั�วแรก์ถื*อเป�นตั�แห้น"งที&4 0 ) และน�บไปตั�มจำ�นวนที&4ตั�องก์�ร (length)

Page 11: CHAPTER 7 String Functions and Regular Expression

11PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

น�พิจน�ปกต� (Regular Expression)

regular expression ใช#ส'าหร�บการเปร�ยบเท�ยบแลัะ แทนท� ข้#อม)ลัแบบสตร�ง ซ้2 งคลั#ายก�บการใช#ฟั�งก�ช�น

เปร�ยบเท�ยบแลัะแทนท� ข้องสตร�ง แต� regular expression จะสามารถก'าหนดร)ปแบบข้องสตร�งได#มากกวิ�า เพิ0 อใช#ใน

การค#นหาสตร�งท� ใกลั#เค�ยงก�นได# โดยใช#ร)ปแบบ(pattern) ส'าหร�บตรวิจสอบหลั�ก ๆ ด�งน�(

^ ก'าหนดให#เป.นจ5ดเร� มต#นข้#อควิาม$ ก'าหนดให#เป.นจ5ดส�(นส5ดข้#อควิาม[A-Z] หมายถ2งต�วิอ�กษร A ถ2ง Z[a-z] หมายถ2งต�วิอ�กษร a ถ2ง z[0-9] หมายถ2งต�วิเลัข้ 0 -9

Page 12: CHAPTER 7 String Functions and Regular Expression

12PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

ฟั�งก�ช�นส'าหร�บตรวิจสอบค�าสตร�ง

ฟั�งก�ช�นการค#นหาสตร�งย�อย - ereg(pattern,ข้#อควิาม) ใช#ส'าหร�บตรวิจสอบข้#อควิามแลัะต�วิอ�กษร ฟั�งก�ช�นจะต�ควิามต�วิอ�กษรพิ�มพิ�ใหญ่�แลัะต�วิอ�กษรพิ�มพิ�เลั-กแตกต�างก�น

- eregi(pattern,ข้#อควิาม) ใช#ส'าหร�บการตรวิจสอบข้#อควิามแลัะต�วิอ�กษร โดยจะต�ควิามต�วิอ�กษรพิ�มพิ�ใหญ่�แลัะต�วิพิ�มพิ�เลั-กเหม0อนก�น

Page 13: CHAPTER 7 String Functions and Regular Expression

13PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

ต�วิอย�าง: การตรวิจสอบรห�สไปรษณ�ย�

<? $zip = “10220”;if (!ereg(^[0-9] [0-9] [0-9] [0-9] [0-9]$)) echo “<br>$zip ผิ�ดร)ปแบบ กลั�บไปแก#ไข้ใหม�”;else echo “<br>$zip ถ)กต#อง”;?>

ลัองเปลั� ยนค�าต�วิแปร $zip เป.นค�าต�าง ๆ

10220 ถ)กต#องK1022 ผิ�ดร)ปแบบ กลั�บไปแก#ไข้ใหม�

1022 ผิ�ดร)ปแบบ กลั�บไปแก#ไข้ใหม�

Page 14: CHAPTER 7 String Functions and Regular Expression

14PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

ต�วิอย�าง

<? $str1 = "Computer Science, Chiang mai";$str2 = "computer science, Chiang Mai";$com = "Chiang mai";echo "Comparision string1<br>";if (ereg($com,$str1)) echo "Found String<br>";else echo "Not found <br>";echo "Comparision string2<br>";if (ereg($com,$str2)) echo "Found String<br>";else echo "Not found <br>";echo "Comparision string2 with eregi<br>";if (eregi($com,$str2)) echo "Found String<br>";else echo "Not found <br>";?>

Page 15: CHAPTER 7 String Functions and Regular Expression

15PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

ฟั�งก�ช�นการแทนท� สตร�งย�อย

- ereg_replace(pattern,ค'าใหม�,ข้#อควิาม) ใช#ส'าหร�บแทนท� ข้#อควิามแลัะต�วิอ�กษร ฟั�งก�ช�นจะต�ควิามต�วิอ�กษรพิ�มพิ�ใหญ่�แลัะต�วิอ�กษรพิ�มพิ�เลั-กแตกต�างก�น

- eregi_replace(pattern,ค'าใหม�,ข้#อควิาม) ใช#ส'าหร�บแทนท� ข้#อควิามแลัะต�วิอ�กษร โดยจะต�ควิามต�วิอ�กษรพิ�มพิ�ใหญ่�แลัะต�วิพิ�มพิ�เลั-กเหม0อนก�น

Page 16: CHAPTER 7 String Functions and Regular Expression

16PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

การแทนท� ค'าในข้#อควิามฟั�งก์�ชั�น คำ�อธิ�บ�ยstr_replace(คำ�เด�ม,คำ�ให้ม",ข้�อคำว�ม)

stri_replace(คำ�เด�ม,คำ�ให้ม",ข้�อคำว�ม)

ereg_replace(pattern,คำ�ให้ม",ข้�อคำว�ม)

eregi_replace(pattern,คำ�ให้ม",ข้�อคำว�ม)

เปล&4ยนคำ�ในข้�อคำว�ม โดยแทีนที&4คำ�เด�มด�วยคำ�ให้ม" และถื*อว"�อ�ก์ษรเล#ก์ให้ญ่"ตั"�งก์�น

เห้ม*อน str_replace แตั"จำะถื*อว"�อ�ก์ษรเล#ก์ให้ญ่"เห้ม*อนก์�น

ตัรวจำสอบข้�อคำว�ม ห้�ก์ส"วนใดที&4ตัรงก์�บ pattern ให้�เปล&4ยนแทีนที&4ด�วยคำ�ให้ม" โดยถื*อว"�อ�ก์ษรเล#ก์ให้ญ่"ตั"�งก์�น

เห้ม*อน ereg_replace แตั"แตั"จำะถื*อว"�อ�ก์ษรเล#ก์ให้ญ่"เห้ม*อนก์�น

Page 17: CHAPTER 7 String Functions and Regular Expression

17PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

ต�วิอย�าง<? $str = “ เด�นย�งกะควิาย ควิาย ควิาย";echo “<br> ก�อน: $str";$str=str_replace(“ควิาย”, “***”,$str);echo “<br> หลั�ง: $str";?>

ผิลัลั�พิธ์�ก�อน: เด�นย�งกะควิาย ควิาย ควิายหลั�ง: เด�นย�งกะ*** *** ***

ส'าหร�บ str_replace แลัะ stri_replace เหมาะส'าหร�บการค#นหาค'าแบบ ตรง ๆ เพิ0 อเปลั� ยนเข้#าไปแทนท� เช�น เซ้-นเซ้อร�ค'าไม�ส5ภาพิ ส�วิน

ereg_replace แลัะ eregi_replace เหมาะส'าหร�บการค#นหาในลั�กษณะ เปร�ยบเท�ยบร)ปแบบ pattern ท� ซ้�บซ้#อนกวิ�า

Page 18: CHAPTER 7 String Functions and Regular Expression

18PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

ฟั�งก�ช�นการแบ�งสตร�งแลั#วิเอาไปเก-บไวิ#ในอาร�เรย�

- split(pattern,ข้#อควิาม) ใช#ส'าหร�บแบ�งสตร�งแลั#วิไปเก-บไวิ#ในอาร�เรย� โดยจะต�ควิามต�วิอ�กษรพิ�มพิ�ใหญ่�แลัะต�วิพิ�มพิ�เลั-กต�างก�น

- spliti(pattern,ข้#อควิาม) ใช#ส'าหร�บแบ�งสตร�ง โดยจะต�ควิามต�วิอ�กษรพิ�มพิ�ใหญ่�แลัะต�วิพิ�มพิ�เลั-กเหม0อนก�น

Page 19: CHAPTER 7 String Functions and Regular Expression

19PHP ภาควิ�ชาวิ�ทยาการคอมพิ�วิเตอร� คณะวิ�ทยาศาสตร� มหาวิ�ทยาลั�ยเช�ยงใหม�

ต�วิอย�าง

<? $str1 = "Computer Science, Chiang mai";echo "before substring<br>";echo "after substring<br>";$array1 = split(" ",$str1);for ($i=0;$i<count($array1);$i++) echo "array1[$i]=$array1[$i]<br>";

echo "after substring with c<br>"; $array3 = spliti("c",$str1);for ($i=0;$i<count($array3);$i++) echo "array3[$i]=$array3[$i]<br>";?>