1. Quy tắc trong chuỗi
Nếu chuỗi được đặt trong dấu nháy kép "" thì các ký tự nháy kép " bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó.
Ví dụ:
1
| echo "Nam nói\"Cậu ấy đang ăn tối\" " ; |
Ví dụ:
1
2
| $str = "đang ăn tối" ; echo "Nam nói\"Cậu ấy $str\" " ; |
Nếu chuỗi được đặt trong dấu nháy đơn '' thì các ký tự nháy đơn ' bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó.
Ví dụ:
1
| echo 'Freetuts' s a website learning online'; |
2. Các hàm xử lý chuỗi hay sử dụng
Sau đây là các hàm chúng ta hay sử dụng để xử lý chuỗi trong PHP.
addcslashes ($str, $char_list)
Hàm này sẽ thêm dấu gạch chéo (\) đằng trước những ký tự trong chuỗi $str mà ta liệt kê ở $char_list.
1
2
3
4
5
6
7
8
| // a..z là gồm các từ từ a => z echo ( addcslashes ( 'freetuts.net FREETUTS.NET' , 'a..z' )); // kết quả: \f\r\e\e\t\u\t\s.\n\e\t echo '<br />' ; // a..zA..Z là gồm các từ từ a => z và A => Z echo ( addcslashes ( 'freetuts.net FREETUTS.NET' , 'a..zA..Z' )); |
addslashes ( $str )
Hàm này sẽ thêm dấu gách chéo trước những ký tự (‘, “, \) trong chuỗi $str.
1
2
| echo addslashes ( "Freetuts's a website learning online" ); // Kết quả là Freetuts's a website learning online |
Hàm này ngược với hàm addslashes, nó xóa các ký tự \ trong chuỗi $str.
1
2
| echo stripslashes ( "Mot so ham 'xu ly chuoi' trong PHP" ); // Kết quả Mot so ham 'xu ly chuoi' trong PHP |
Hàm này sẽ chuyển chuỗi $str thành một dãy số nguyên (có thể âm hoặc dương tùy theo hệ điều hành).
1
2
| echo crc32 ( 'freetuts.net' ); // kết quả: -838644060 |
Hàm này sẽ chuyển một chuỗi $string thành một mảng các phần tử với ký tự tách mảng là $delimiter.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <strong> // Chuỗi cần chuyển<br /> $str = 'freetuts.net is a website free for you' ; // Mỗi khoảng trắng sẽ là một phần tử trong mảng<br /> var_dump( explode ( ' ' , $str )); /*Kết quả array 0 => 'freetuts.net', 1 => 'is', 2 => 'a' , 3 => 'website', 4 => 'free', 5 => 'for' , 6 => 'you' */ </strong> |
Hàm này ngược với hàm explode, nó chuyển một mảng $piecesarray thành chuỗi và mỗi phần tử cách nhau bởi chuỗi $delimiter
1
2
3
4
5
6
7
8
| echo implode( ' ' , array ( 'freetuts' , 'xin' , 'chào' , 'các' , 'bạn' )); // kêt quả là freetuts xin chào các bạn |
Hàm này trả về mã ASCII của ký tự đầu tiên trong chuỗi $string.
1
2
| echo ord ( 'Ab' ); // kết quả: 65 |
Hàm này đếm số ký tự của chuỗi $string.
1
2
| echo strlen ( 'freetuts.net' ); // kết quả: 12 |
str_word_count($str)
Hàm này trả về số từ trong chuỗi $str.
Hàm này trả về số từ trong chuỗi $str.
1
2
| echo str_word_count ( 'freetuts xin chào các bạn' ); // kết quả là 5 |
Hàm này lặp chuỗi $str $n lần.
1
2
| echo str_repeat ( 'Hello' , 5 ); // Kết quả là HelloHelloHelloHelloHello |
str_replace( $chuoi_tim, $chuoi_thay_the, $chuoi_nguon )
Hàm này tìm kiếm và thay thế chuỗi.
1
2
3
| $str = 'Freetuts Xin Chào Các Bạn' ; $str = str_replace ( 'Freetuts' , 'Freetuts.net' , $str ); echo $str ; // kết quả là Freetuts.net Xin Chào Các Bạn |
Để thay thế nhiều chuỗi ta có thể dùng mảng để truyền vào
1
2
3
| $str = 'Freetuts Xin Chào Các Bạn' ; $str = str_replace ( array ( 'Freetuts' , 'Xin Chào' ), array ( 'Freetuts.net' , 'Hello' ), $str ); echo $str ; // kết quả là Freetuts.net Hello Các Bạn |
md5( $str)
Hàm này mã hóa chuỗi thành một dãy 32 ký tự (mã hóa md5).
1
2
| echo md5( 'freetuts.net' ); // Kết quả: 83617175fd8cf470d4af657a28def98e |
sha1($string)
Hàm này mã hóa chuỗi thành một dãy 40 ký tự (mã hóa sha1)
1
2
| echo sha1( 'freetuts.net' ); // kết quả 8d9fa09de2e997d8fbb544326b84d1f894cd3ca3 |
htmlentities($str)
Hàm này chuyển các thể html trong chuỗi $str sang dạng thực thể của chúng (html sẽ ko còn tác dụng nên bạn có thể echo ra bên ngoài).
1
2
| echo htmlentities( '<b>freetuts.net</b>' ); // Kết quả <b>freetuts.net</b> |
html_entity_decode($string)
Ngược lại với htmlentities, hàm này chuyển ngược các ký tự dạng thực thể HTML sang dạng ký tự của chúng.
1
2
3
4
| $str = htmlentities( '<b>freetuts.net</b>' ); echo 'Entity: ' . $str . '<br/>' ; echo 'Decode: ' . html_entity_decode( $str ); |
htmlspecialchars( $string)
Tương tự như htmlentities.
htmlspecialchars_decode($string)
Tương tự như html_entity_decode.
strip_tags( $string, $allow_tags )
Hàm này bỏ các thẻ html trong chuỗi $string được khai báo ở $allow_tags.
1
| echo strip_tags ( '<b>freetuts.net</b>' , 'b' ); |
substr( $string, $start, $length )
Hàm này lấy một chuỗi con nằm trong chuỗi $str bắt đầu từ ký tự thứ $start và chiều dài $length.
1
2
| echo substr ( 'freetuts.net' , 0, 8); // Kết quả freetuts |
strstr( $string, $ky_tu_cho_truoc )
Tách một chuỗi bắt đầu từ $ky_tu_cho_truoc cho đến hết chuỗi.
1
2
| echo strstr ( 'freetuts.net Xin Chào' , 'Xin' ); // Kết quả: Xin Chào |
strpos($str, $chuoi_tim )
Tìm vị trí của chuỗi $chuoi_tim trong chuỗi $str, kết quả trả về false nếu không tìm thấy.
1
2
| echo strpos ( 'freetuts.net chào các bạn' , 'chào' ); // kết quả 13 |
strtolower($str);
Chuyển tất cả các ký tự chuỗi $str sang chữ thường
strtoupper($string );
Chuyển tất cả các ký tự chuỗi $str sang chữ hoa
ucfirst( $string )
Chuyển ký tự đầu tiên chuỗi $string sang chữ hoa
ucfirst( $string )
Chuyển ký tự đầu tiên trong chuỗi $string sang chữ thường
ucwords( $string )
Chuyên từ đầu tiên trong chuỗi $string sang chữ hoa
trim($string, $ky_tu);
Xóa ký tự $ky_tu nằm ở đầu và cuối chuỗi $str, nếu ta không nhập $ky_tu thì mặc định nó hiểu là xóa khoảng trắng.
1
2
3
4
5
| echo trim( ' freetuts.net ' ); // kết quả: 'freetuts.net' echo trim( 'freetuts.neth' ); // kết quả: 'freetuts.net' |
ltrim($string, $ky_tu);
Tương tự như trim nhưng chỉ xóa bên trái
rtrim($string, $ky_tu)
Tương tự như trim nhưng chỉ xóa bên phải
nl2br($string)
Chuyển các ký tự xuống dòng “\n” thành thẻ
json_decode($json, $is_array)
Dùng để chuyển chuỗi dạng JSON sang các đối tượng mảng hoặc object. Nếu $is_array có giá trị false thì hàm sẽ chuyển một chuỗi $json thành một Class (object), ngược lại nếu $is_array có giá trị true thì sẽ chuyển chuỗi $json thành một mảng.
json_encode($array_or_object)
Chuyển một mảng hoặc mội đối tượng (classs) sang chuỗi dạng JSON
Bài học lập trình PHP trên được thực hiện bởi NIIT ICT Hà Nội
0 blogger-facebook:
Đăng nhận xét