Header Ads Widget

Một số hàm xử lý chuỗi trong PHP


1. Phương thức nỗi chuỗi và ký tự đặc biệt trong PHP.    Để nối 2 chuỗi với nhau, PHP cho phép người sử dụng dùng cú pháp: dấu (.) để nối hai chuỗi với nhau  thành 1 chuỗi dài hơn.
Ví dụ:

Để xử lý những ký tự lạ trong chuỗi như dấu “hoặc $, PHP cung cấp cho ta 1 phương thức xử lý hiệu quả. Đó là thêm dấu “\” sau mỗi giá trị.
Ví dụ:
1
2
3
<?php
   echo "gia tri \$a trong PHP that \ "de hieu\" phai khong nao";
?>

Ta có bảng ký tự sau:
\n
\r
\t
\\
\$
\"
Ký tự xuống dòng
Trở về đầu dòng
Ký tự tab
Backslash
Dollar sign
double-quocte

II. Các hàm về chuỗi cơ bản.
1. Hàm substr()
Cú pháp: string substr (string source, in begin, int length);
Trả về 1 chuỗi con trong chuỗi cần lấy, đối số thứ 3 là tùy chọn, vị trí đầu tiên của chuỗi được tính là vị trí 0.
Ví dụ 1:
1
2
3
4
5
6
7
8
9
echo (substr (“christopher”, 1)); // in ra “hristopher”
echo (substr (“christopher”, -2)); // in ra “er”
//Nếu đối số thứ hai là số âm nó sẽ đếm từ cuối chuỗi ngược lại phía trước số ký tự bằng với giá trị tuyệt đối của số âm đó.
echo (substr (“christopher”, -5, 3)); // in ra “oph”
echo (substr (“christopher”, -3)); // in ra “her”
echo (substr (“christopher”, 2, 3)); // in ra “ris”
echo (substr (“christopher”, 2, -3)); // in ra “ristop”
echo (substr (“christopher”, -6, -3)); // in ra “top”
echo (substr (“christopher”, 7, -8)); // in ra “” chuỗi rỗng
2. Hàm strlen ():
Cú pháp: int strlen (string str).
Xác định chiều dài của chuỗi.
Ví dụ:
1
echo (strlen (“christopher”)); // in ra số 11.
3. Hàm thay đổi kiểu chữ.
+ Hàm strtoupper (): đổi chữ thường thành hoa.
Ví dụ
1
strtoupper (“toi”); in ra “TOI”
+ Hàm strtolower (): đổi chữ hoa thành thường.
Ví dụ
1
strlower (“TOI”); // in ra “toi”
+ Hàm ucfirst (): đổi chữ in ký tự đầu tiên của câu.
Ví dụ:
1
ucfirst("in house"); // in ra "In house"
+ Hàm ucwords (): đổi chữ in ký tự đầu tiên của mỗi từ.
Ví dụ: 
1
ucwords("in house"); // in ra "In House"
4. Hàm so sánh chuỗi.
Có thể dùng toán tử so sánh = = (bằng), !=, <, <=, >, >=, = = = để so sánh các chuỗi.
Ngoài ra, ta còn có một số phương thức so sánh chuỗi như sau:
Các hàm strcmp (), strcasecmp (),strnatcmp () sẽ so sánh các chuỗi theo phép so sánh tự điển.
Hàm int strcmp (string S1, string S2): So sánh 2 chuỗi S1, S2 có phân biệt hoa/ thường. Hàm này trả về giá trị > 0 nếu S1 > S2, 0 nếu S1 = S2 và giá trị <0 nếu S1 < S2.
Nói chung hàm này có thể sử dụng giống toán tử so sánh trong biểu thức. Hàm int strcasecmp (string S1, string S2): Giống hàm strcmp () nhưng không phân biệt chữ hoa và chữ thường.
Ví dụ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
          $var1 = “Hello”;
          $var2 = “hello”;
          echo “Length $var1:”. Strlen($var1);
  
          if (!strcasecmp ($var1, $var2))
                       echo $var1 = $var2 in a case-insensitive”
  
          if (strcmp($var1, $var2) > 0)
                      echo $var1 > $var2”;
          if (strcmp($var1, $var2) < 0)
                      echo $var1 < $var2”;
          if (strcmp($var1, $var2) == 0)
                      echo $var1 = $var2”;
 ?>

Kết quả hiển thị:
Length Hello:5
Hello = hello in a case - insensitive
Hello < hello
5. Hàm tìm kiếm và thay thế chuỗi.
+ Tìm kiếm chuỗi bên trong chuỗi: để tìm kiếm 1 chuỗi bên trong 1 chuỗi khác, bạn có thể sử dụng 1 trong 3 hàm strstr (), strchr (), strrchr () hay stristr (), các hàm trên sẽ trả về chuỗi str1, nếu tìm thấy chuối str 1 trong chuỗi str 2, ngược lại hàm trả về giá trị false, nếu có nhiều chuỗi con str 1 trong str 2, thì hàm này chỉ tìm kiếm chuỗi str 1 đầu tiên.
Hàm strstr ():
Cú pháp: string strstr (string str 1, string str 2);
Ví dụ:
1
2
3
4
<?php
  $str = “Your customer service is excellent”;
  echo (strstr ($str, “is”). “<BR>”); // is excellent
?><br type="_moz">
+ Hàm tạo chuỗi con: Hàm string substr (string S, int start [, int length]): Trả về chuỗi con được thành lập từ chuỗi S với các tham số start và length. Nếu start >=0: sẽ trả về chuỗi bắt đầu từ vị trí start trong S.
Ví dụ:
1
2
3
4
<?php
  $rest = substr (“abcdef”, 1); // returns “bcdef”
  $rest = substr (“abcdef”, 1, 3); // returns “bcd”
?>
Nếu start < 0: sẽ trả về chuỗi bắt đầu từ vị trí start của S tính từ cuối chuỗi
1
2
3
4
5
<?php
  $rest = substr (“abcdef”, -1); // returns “f”
  $rest = substr (“abcdef”, -2); // returns “ef”
  $rest = substr (“abcdef”, -3, 1); // returns “d”
?>
Nếu length >= 0 (giá trị mặc định là 0), chuỗi trả về có chiều dài length ký tự tính từ vị trí start.
Nếu length < 0: Chuỗi trả về chuỗi từ start tới vị trí kết thúc cách cuối chuỗi length ký tự.
+ Hàm thay thế chuỗi con:
Hàm str_replace ():
Cú pháp: string str_replace (string str 1, string str 2, string str);
Hàm thay thế chuỗi S1 bằng chuỗi S2 trong chuỗi S. Trong trường hợp có nhiều S1 trong S, tất cả các S1 đều được thay bởi S2 (thay thế tất cả).

1
2
3
4
<?php
  $bodytag = str_replace (“%body%”, “black”, “<body text =    %body%>”);
  //$bodytag = “<body text = %body%>”
?>
Hàm substr_replace ()
Cú pháp: string substr_replace (string str, string replacement, int start, int [length]);
Hàm này sẽ thay thế chuỗi str bằng chuỗi replacement, phần na ò của chuỗi str được thay thế sẽ tùy thuộc vào 2 tham số là start và length.
+ Start: Vị trí bắt đầu của chuỗi thay thế replacement trong chuỗi str.
  Nếu start >=0: Vị rí thay thế sẽ được tính từ đầu chuỗi trở đi, start tính bằng đơn vị ký tự (vị trí thứ nhất của chuỗi là 0).
  Nếu start < 0: Nó sẽ được tính bắt đầu từ cuối chuỗi.
+ length: Là tham số tùy chọn, cho biết điểm dừng việc thay thế. Nếu không có đối số này thì việc thay thế sẽ là từ vị trí start đến cuối chuỗi.
Nếu length = 0: việc thay thế sẽ là chèn vào vị trí start và ký tự trước start.
Nếu length > 0: cho biết số ký tự mà bạn muốn thay  thế với replacement.
Nếu length < 0: cho biết điểm kết thúc việc thay thế tính từ vị trí cuối chuỗi trở lại.

Nhận xét