Xử lý chuỗi đóng vai trò rất quan trọng trong lập trình PHP, bài học hôm nay chúng ta cùng tìm hiểu một số hàm xử lý chuỗi thường gặp trong PHP.

1, Nhóm hàm in thông tin lên trình duyệt

echo, print  là 2 hàm thường được xử dụng nhiều nhất để in thông tin (Chuỗi, giá trị biến, …)  lên trình duyệt.

Ví dụ:

echo 'Welcome to PHP'; //Hoặc echo ('Welcome…');
print 'Welcome to Ewebvn'; //Hoặc print( 'Welcome…');

Sự khác nhau giữa echo và print

Echo Print
Kiểu void Kiểu int
Không có giá trị trả về Luôn luôn return về 1

Lời khuyên: Nên sử dụng hàm echo vì echo xử lý nhanh hơn print một chút vì không phải return về giá trị

2, strlen( $str ) : Đếm tổng số ký tự có trong chuỗi

Ví dụ:

 echo strlen('Welcom to Ewebvn.com');

Kết quả: 20

3, str_word_count ( $str ) : Đếm tổng số từ có trong chuỗi

Ví dụ:

 echo str_word_count('Welcome to Ewebvn');

Kết quả: 3

4, addslashes(  $str  )

Hàm addslashes sẽ thêm vào ký tự \ (back slash) trước các ký tự  ‘ và ” trong một chuỗi, có tác dụng tránh lỗi SQL injection khi  thêm dữ liệu vào database.

Ví dụ:

$str = 'Chao mung ban den voi "Ewebvn"';
echo addslashes( $str );
$str = "Mot so ham 'xu ly chuoi' trong PHP";
echo "<br />" . addslashes( $str );

Kết quả:

Chao mung ban den voi \”Khoa hoc PHP\”
Mot so ham \’xu ly chuoi\’ trong PHP

5, stripslashes( $str )

Hàm stripslashes có tác dụng ngược lại với addslashed, hàm này sẽ loại bỏ các ký tự \ trong chuỗi ký tự, thường được sử dụng để xử lý chuỗi trước khi hiển thị thông tin lên trình duyệt.

$str = "Mot so ham \'xu ly chuoi\' trong PHP";
echo "<br />" . stripslashes( $str );

Kết quả: Mot so ham ‘xu ly chuoi’ trong PHP

6, str_repeat(  $str, $n  )

Hàm str_repeate cho phép lặp lại chuỗi $str theo $n lần

Ví  dụ:

echo str_repeat( ‘Hello’, 5 );

Kết quả: HelloHelloHelloHelloHello

7, str_replace( $chuoi_tim, $chuoi_thay_the, $chuoi_nguon )

str_replace cho phép tìm kiếm và thay thế trong chuỗi:

Ví dụ:

$str = 'Ban dang tham gia khoa hoc PHP';
$str = str_replace( 'PHP', 'PHP co ban', $str );
echo $str;

Tìm tất cả các cụm tù PHP trong chuỗi $str và thay thế bằng PHP co ban

Kết quả: Ban dang tham gia khoa hoc PHP co ban

$chuoi_tim$chuoi_thay_the có thể là 1 mảng dữ liệu

Ví dụ: Loại bỏ tất cả các ký tự !,@,#,$,% ra khỏi chuỗi

$str = 'Scelerisque! porttitor@ #elementum% sed$ cum pellentesque';
$str = str_replace( array('!', '@', '#', '$', '%') , '', $str );
echo $str;

Kết quả: Scelerisque porttitor elementum sed cum pellentesque

Ví dụ: Tìm và thay thế [b] bằng </b> và [/b] bằng <b>

$str = str_replace( array('[b]', '[/b]'), array ('<b>', '</b>') , $str );
echo $str;

8, Nhóm hàm Loại bỏ ký tự ra khỏi chuỗi

  • chop( $string) : Loại bỏ những khoảng trắng ở cuối chuỗi
  • trim( $string) : Loại bỏ những khoảng trắng ở đầu và cuối của chuỗi.
  • ltrim( $string, $ ky_tu_loai_bo ) : Loại bỏ các ký tự ở đầu chuỗi, mặc định loại bỏ tất cả khoảng trắng ở đầu chuỗi.
  • rtrim( $string, $ky_tu_loai_bo ) : Loại bỏ các ký tự ở cuối chuỗi, mặc định loại bỏ tất cả khoảng trắng ở cuối chuỗi.

9, Liên hệ giữa mảng và chuỗi

  • explode(‘Chuỗi tách’,  $string) : Tách chuỗi thành mảng bởi chuỗi tách
  • implode(“Chuỗi nối”, $mang ) : Nối các phần tử mảng để tạo thành chuỗi.
  • join( ‘Chuỗi nối’, $mang ) : Tương tự implode

Xem thêm về implode và explode trong bài: Các hàm xử lý mảng trong PHP

10, Các hàm mã hóa chuỗi

Trong php chúng ta có hai phương pháp mã hóa chuỗi thường sử dụng là md5sha1

  • md5( $string ) : Mã hóa chuỗi dạng md5
  • sha1( $ string) : Mã hóa chuỗi dạng sha1

11, Chuỗi và HTML

PHP cung cấp cho chúng ta một số hàm thao tác với các thẻ HTML

a,  htmlentities( $ string)

Chuyển tất cả các ký tự có thể áp dụng cho các thẻ HTML như <, > sang dạng thực thể của chúng, các thẻ HTML sẽ không còn tác dụng. Thường được xử dụng trong việc xử lý dữ liệu từ người dùng nhập trước khi lưu vào database.

b,  html_entity_decode( $ string)

Ngược lại với htmlentities, hàm  html_entity_decode  sẽ chuyển đổi tấtcả các thực thể HTML sang những kí tự có thể dùng được của chúng.

Ví dụ về htmlentities và html_entity_decode

$str = '<p>The p trong html</p>';
$str = htmlentities( $str );
echo 'Entity: ' . $str . '<br>';
echo 'Decode' . html_entity_decode( $str );

Kết quả:

<Entity: <p>The p trong html</p>
Decode

The p trong html

c, htmlspecialchars( $ string) : Tương tự htmlentities

d, htmlspecialchars_decode( $ string) : Tương tự html_entity_decode

e, strip_tags( $ string, $allow_tags )

Loại bỏ các thẻ HTML hoặc PHP ra khỏi chuỗi, Thường được sử dụng để xử lý dữ liệu do người dùng nhập trước khi lưu trữ database, hiển thị văn bản dạng trích dẫn.

$allow_tags: Các thẻ cho phép giữ lại

Ví dụ: Loại bỏ các thẻ HTML ra khỏi chuỗi $str, cho phép giữ lại thẻ <a> và <em>

$str = strip_tags( $str, '<a><em>' );

12, Các hàm tách chuỗi con (sub)

a, substr( $string,  $start, $length ): tách chuỗi con từ một chuỗi

  •  start: Vị trí bắt đầu tách
  • length: Chiều dài chuỗi cần tách

Ví dụ:

$str = "Khoa hoc PHP";
$str = substr( $str, 0, 8 );
echo $str;

Kết quả: Khoa hoc

b, strstr( $string, $ky_tu_cho_truoc )

Tách ra một chuỗi con từ vị trí đầu tiên của chuỗi cho trước cho đến cuối chuỗi.

Ví dụ:

 echo strstr( "Khoa hoc PHP co ban", "PHP" );

Kết quả: PHP co ban

13 , strops( $str, $chuoi_tim )

Tìm vì trí xuất hiện đầu tiên của $chuoi_tim trong chuỗi $str.

Ví dụ:

echo strpos( "Khoa hoc PHP", "PHP" );

Kết quả: 9

14, Một số hàm khác

  • strtolower( $str ) : Chuyển tất cả ký tự sang chữ thường.
  •  strtoupper($string ): Chuyển tất cả ký tự sang chữ in hoa.
  • ucfirst( $string ): Viết hoa kí tự đầu tiên của chuỗi.
  • ucwords( $string ): Viết hoa kí tự đầu tiên của mỗi từ.

Xem thêm các hàm xử lý chuỗi  tại: http://php.net/manual/en/ref.strings.php

Print_r () PHP Function

Definition: The Print_r () PHP function is used to return an array in a human readable form. It is simply written as Print_r ($your_array)
Also Known As: Print Array
Examples:
<?php
 $Names = array ('a' => 'Angela', 'b' => 'Bradley', 'c' => array ('Cade', 'Caleb')); 
 print_r ($Names);
 ?>

The results would be something like: Array
(
[a] => Angela
[b] => Bradley
[c] => Array
(
[0] => Cade
[1] => Caleb
)
)

Advertisements