Hướng dẫn kiểm tra chuỗi php | HoiCay – Top Trend news

Bạn có một chuỗi con và bạn muốn kiểm tra xem liệu nó có nằm trong chuỗi nào đó hay không ? Tôi nghĩ có nhiều bạn gặp trường hợp này rồi và hôm nay tôi sẽ cung cấp 2 giải pháp cho trường hợp này.

Nội dung chính

  • Và kết quả :
  • Kết luận,
  • 1. quy
    tắc trong
    chuỗi
  • 2. Các hàm xử lý chuỗi hay sử dụng
  • 3. Lời kết

Cách 1,

Cách giải quyết khá đơn giản, thuật toán cũng không có gì phức tạp lắm. Sau khi lấy chuỗi con trong chuỗi ban đầu thì chúng ta sẽ kiểm tra độ dài kết quả đó. Nếu độ dài lớn hơn 0 tức là có chuỗi con và ngược lại.

<?php
if (strlen(strstr($chuoi_ban_dau, $chuoi_con)) > 0) {
// Tìm thấy
}
?>

Cách 2,

Giải pháp thứ 2 thì tôi
sẽ dùng hàm strpos() để xử lý. Vì sao dùng hàm đó ?

Nguyên nhân là vì hàm strpos() sẽ trả về vị trí của kí tự đầu tiên của chuỗi con nếu tìm thấy nó trong chuỗi ban đầu. Nếu tìm thấy chuỗi con, hàm strpos() sẽ trả về giá trị lớn hơn 0 (true) và ngược lại là false.

<?php
$pos = strpos($chuoi_ban_dau, $chuoi_con);
if ($pos !== false) {
//Tìm thấy
} else {
// Không tìm thấy
}
?>

Demo,

Đoạn code dưới đây sẽ minh họa cho 2 cách trên

<?php
// Kiểm tra chuỗi con có tồn tại trong 1 chuỗi bất kỳ hay không&nbsp;
$str = 'Hello world !';
$sub = 'world';
// Cách 1
if (strlen(strstr($str, $sub)) > 0) {
echo 'Ton tai';
} else {
echo 'Khong ton tai';
}
// Cách 2
if (strpos($str, $sub) !== false) {
echo 'Ton tai';
} else {
echo 'Khong ton tai';
}
?>

Và kết quả :

Chuỗi ban đầu: Hello world !
Chuỗi con: world
Ton tai
Ton tai

Kết luận,

a, Trong 2 cách trên thì các bạn nên dùng cách thứ 2 vì nó
nhanh hơn và ít tốn bộ nhớ hơn.

b, Hàm strpos() sẽ trả về vị trí chứ không phải là kiểu boolean nên các bạn hãy dùng !== hoặc === khi so sánh kết quả trả về với false hoặc true. (Đọc thêm bài viết này để hiểu hơn về các kiểu so sánh trong PHP)

Tìm chuỗi trong chuỗi php là một trong những từ khóa được gg search nhiều nhất về chủ đề tìm chuỗi trong chuỗi php. Trong bài viết này, cachthietkeweb.vn sẽ viết bài viết hướng dẫn tìm chuỗi trong chuỗi php mới nhất 2020.

Hướng dẫn kiểm tra chuỗi php

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\" ";

Nếu chuối được đặt trong dấu nháy kép thì trong chuỗi ta có thể truyền biến vào mà k cần dùng phép nối chuỗi.

gợi ý:

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 web 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 dùng để giải quyết 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 '
'
;

// 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 web learning Trực tuyến

stripslashes ($str)

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");

// hiệu quả Mot so ham 'xu ly chuoi' trong PHP

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).

1

2

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.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

// Chuỗi cần chuyển

$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

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ử mẹo 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

ord ( $string )

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

strlen($string)

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.

1

2

echo str_word_count('freetuts xin chào các bạn');

// kết quả là 5

str_repeat( $str, int $n )

Hàm này lặp chuỗi $str $n lần.

1

2

echo str_repeat( 'Hello', 5 );

// hiệu quả là HelloHelloHelloHelloHello

str_replace( $chuoi_tim, $chuoi_thay_the, $chuoi_nguon )

Hàm này kiếm tì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 đủ sức sử 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; // hiệu 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');

// hiệu 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('freetuts.net');

// hiệu quả freetuts.net

html_entity_decode($string)

trái 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('freetuts.net');

echo 'Entity: ' . $str . '
'
;

echo 'Decode: ' . Html_entity_decode($str);

htmlspecialchars( $string)

Tương tự giống 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('freetuts.net', 'b');

substr( $string, $start, $length )

Hàm này lấy một chuỗi con nằm trong chuỗi $str tính từ lúc ký tự thứ $start và chiều dài $length.

1

2

echo substr( 'freetuts.net', 0, 8);

// hiệu quả freetuts

strstr( $string, $ky_tu_cho_truoc )

Tách một chuỗi tính từ lúc $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, hiệu quả trả về false nếu k 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 all các ký tự chuỗi $str sang chữ hoa

ucfirst( $string )

Chuyển ký tự trước hết chuỗi $string sang chữ hoa

ucfirst( $string )

Chuyển ký tự trước hết trong chuỗi
$string sang chữ thường

ucwords( $string )

Chuyên từ trước hết 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 k 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ự giống như trim nhưng chỉ xóa bên phải

nl2br($string)

Chuyển các ký tự xuống thể loại “\n” thành thẻ

json_decode($json, $is_array)

sử dụng để chuyển chuỗi dạng JSON sang
các phân khúc 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), trái 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 thị trường (classs) sang chuỗi dạng JSON

3. Lời kết

Tôi k thể liệt kê kết các hàm giải quyết chuỗi trong php được vì chính mình tôi cũng k biết hết, nên tôi chỉ liệt kê các hàm hay dùng thôi, nếu các bạn muốn nghiên cứu thêm các hàm xử lý chuỗi đủ sức vào đây để đọc qua. Bài kế
tiếp ta sẽ tìm hiểu các hàm giải quyết mảng trong php

Nguồn: https://freetuts.net/