Bang hộiTiền mặt: 0 Xu Trò chơiHộp quà giáng sinhChủ Nhật, 00:41:31 - 28/04/2024
Chia sẻ kiến thức ngôn ngữ lập trình C, C++, C#, Java, Python, PHP, JS, SQL ...

Các điều hành viên: Mod, SMod, Admin

[PHP] Các hàm xử lý chuỗi phổ biến trong PHP

[PHP] Các hàm xử lý chuỗi phổ biến trong PHP

#1 » Gửi bài gửi bởi PHP » 27/10/2023 23:09 » @528137

Việc xử lý chuỗi trong PHP rất là quan trọng vì dữ liệu hiển thị trên trang web luôn luôn ở dạng chuỗi, vì thế nếu bạn nắm vững và xử lý nhuần nhuyễn thì sẽ giúp bạn ít tốn công sức và thời gian hơn mà web chạy lại nhanh nữa. Và bên dưới đây tôi sẽ liệt kê các hàm xử lý chuỗi trong php thông dụng hay sử dụng nhất, tuy nhiên chúng ta cần hiểu một số quy tắc trong chuỗi trước đã.

I - NGUYÊN TẮC XỬ LÝ CHUỖI TRONG PHP
- Nguyên tắc thứ nhất: Để khi chèn biến không phải nối chuỗi bạn nên sử dụng " " (dấu nháy kép) để in ra chuỗi.
Mã: Chọn tất cả
$str = "đang ăn tối";
echo "Nam nói: Cậu ấy $str";

//Output: Nam nói: Cậu ấy đang ăn tối       

- Nguyên tắc thứ hai: Các ký tự " (nháy kép) đặt trong dấu nháy kép " " của chuỗi phải thêm dấu gạch chéo ngược đằng trước.
Mã: Chọn tất cả
echo "Nam nói: \"Cậu ấy đang ăn tối\" ";

//Output: Nam nói: "Cậu ấy đang ăn tối"   

- Nguyên tắc thứ ba: Nếu chuối được đặt trong dấu ' (nháy đơn) thì các ký tự ' (nháy đơn) trong chuỗi phải thêm dấu gạch chéo ngược phía trước nó.
Mã: Chọn tất cả
echo 'Freetuts\'s a website learning online';

//Ouput: Freetuts's a website learning online  


II - 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.
Mã: Chọn tất cả
// 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 FREETUTS.NET
  
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'));
//kết quả: \f\r\e\e\t\u\t\s.\n\e\t \F\R\E\E\T\U\T\S.\N\E\T  


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.
Mã: Chọn tất cả
echo addslashes ("Freetuts's a website learning online");
// Kết quả: Freetuts\'s a website learning online  


stripslashes ($str) : Hàm này ngược với hàm addslashes, nó xóa các ký tự \ trong chuỗi $str.
Mã: Chọn tất cả
$str = "Is your name O\'reilly?";

// Outputs: Is your name O'reilly?
echo stripslashes($str);


crc32 ($str) : 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).
Mã: Chọn tất cả
echo crc32 ('freetuts.net');
// kết quả: -838644060  


explode ($delimiter , $string) : 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.
Mã: Chọn tất cả
// 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' */


implode($delimiter, $piecesarray) : 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
Mã: Chọn tất cả
echo implode(' ', array(
    'freetuts',
    'xin',
    'chào',
    'các',
    'bạn'
));
// kêt quả: freetuts xin chào các bạn


ord( $string ) : Hàm này trả về mã ASCII của ký tự đầu tiên trong chuỗi $string.
Mã: Chọn tất cả
echo ord ("Ab");
// kết quả: 65  


strlen($string) : Hàm này đếm số ký tự của chuỗi $string.
Mã: Chọn tất cả
echo strlen('freetuts.net');
// kết quả: 12  


str_word_count($str) : Hàm này trả về số từ trong chuỗi $str.
Mã: Chọn tất cả
echo str_word_count('freetuts xin chào các bạn');
// kết quả: 5  


str_repeat( $str, int $n ) : Hàm này lặp chuỗi $str $n lần.
Mã: Chọn tất cả
echo str_repeat( 'Hello', 5 );
// Kết quả: HelloHelloHelloHelloHello  


str_replace( $chuoi_tim, $chuoi_thay_the, $chuoi_nguon ) : Hàm này tìm kiếm và thay thế chuỗi.
Mã: Chọn tất cả
$str = 'Freetuts Xin Chào Các Bạn';
$str = str_replace( 'Freetuts', 'Freetuts.net', $str );
echo $str; 
// kết quả: 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
Mã: Chọn tất cả
$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ả: Freetuts.net Hello Các Bạn  


str_ireplace( $chuoi_tim, $chuoi_thay_the, $chuoi_nguon ) : tương tự như hàm str_replace() bên trên nhưng $chuoi_tim không phân biệt chữ hoa, chữ thường
Mã: Chọn tất cả
$str = 'FREETUTS XIN CHÀO CÁC BẠN';
$str = str_ireplace( 'freetuts', 'freetuts.net', $str );
echo $str; 
// kết quả: freetuts.net XIN CHÀO 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).
Mã: Chọn tất cả
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)
Mã: Chọn tất cả
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).
Mã: Chọn tất cả
echo htmlentities('<b>freetuts.net</b>');
//Kết quả: &lt;b&gt;freetuts.net&lt;/b&gt;  


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.
Mã: Chọn tất cả
$str = htmlentities('<b>freetuts.net</b>');
  
echo 
'Entity: ' . $str . '<br/>';
echo 'Decode: ' . html_entity_decode($str);
//Kết quả:
//Entity: &lt;b&gt;freetuts.net&lt;/b&gt;
//Decode: <b>freetuts.net</b>  


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.
Mã: Chọn tất cả
echo strip_tags('<b>freetuts.net</b>', 'b');
//Kết quả: freetuts.net  


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.
Mã: Chọn tất cả
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.
Mã: Chọn tất cả
$email  = 'name#example-function';
$domain = strstr($email, '#');
echo $domain; 
//kết quả: #example-function  


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.
Mã: Chọn tất cả
echo strpos('freetuts.net chào các bạn', 'chào');
// kết quả: 13  


strtolower($string) : 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.
Mã: Chọn tất cả
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ẻ <br>
Mã: Chọn tất cả
<?php
echo nl2br
("foo isn't\n bar");
//kết quả: foo isn't<br />bar  


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

III - LỜI KẾT
Tôi không thể liệt kê kết các hàm xử lý chuỗi trong php được vì bản thân tôi cũng không biết hết, nên tôi chỉ liệt kê các hàm hay sử dụng thôi, nếu các bạn muốn tìm hiểu thêm các hàm xử lý chuỗi có thể vào đây để tham khảo: https://www.php.net/manual/en/ref.strings.php
Sửa lần cuối: PHP 28/10/2023 02:08
PHP
Hình đại diện của thành viên
Rank: ☀️1/30☀️
Cấp độ:
Tu luyện:
Like:
Online:
Bang hội: ?????
Xếp hạng Bang hội: ⚡??/60⚡
Level:
Chủ đề đã tạo: 🩸1/4140🩸
Tiền mặt:
Nhóm:
Danh hiệu: ⚝Thành viên tích cực⚝
Giới tính:
Ngày tham gia:
Thiết bị:
Số điện thoại:
(Google Chrome Browser)


Quay về C, C++, C#, Java, Python, PHP, JS, SQL ...

 


  • Chủ đề tương tự
    Trả lời
    Xem
    Bài viết mới nhất