Thủ thuật PHP : Cắt chuỗi mà không làm mất nghĩa
Hôm nay mình sẽ hướng dẫn các bạn cách lấy ra chuỗi con mà không làm nó mất đi ý nghĩa, ví dụ nếu bạn muốn lấy 1 chuỗi con từ 1 đoạn văn thì bạn thường sử dụng hàm substr, tuy nhiên hàm này đôi khi làm cho chuỗi con trở nên khó hiểu, chúng ta cùng thử 1 ví dụ sau đây: 1 2 3 4 5 6 ...
Hôm nay mình sẽ hướng dẫn các bạn cách lấy ra chuỗi con mà không làm nó mất đi ý nghĩa, ví dụ nếu bạn muốn lấy 1 chuỗi con từ 1 đoạn văn thì bạn thường sử dụng hàm substr, tuy nhiên hàm này đôi khi làm cho chuỗi con trở nên khó hiểu, chúng ta cùng thử 1 ví dụ sau đây:
1 2 3 4 5 6 |
<?php $mytext = "Chao Mung Ban Den Voi Thu Thuat Web"; $result = substr($mytext,0,7); echo $result; return $str; ?> |
Kết quả của của câu lệnh trên là xuất ra màn hình dòng chữ “Chao Mu” , vậy có cách nào giúp chúng ta lấy ra từng câu tùy vào số lượng câu mà chúng ta muốn hiển thị không, mình có 2 hàm sau giúp các bạn làm điều đó
Hàm thứ 1 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php function _substr($str, $length, $minword = 3) { $sub = '; $len = 0; foreach (explode(' ', $str) as $word) { $part = (($sub != ') ? ' ' : ') . $word; $sub .= $part; $len += strlen($part); if (strlen($word) > $minword && strlen($sub) >= $length) { break; } } return $sub . (($len < strlen($str)) ? '...' : '); } ?> |
Hàm trên sẽ chèn thêm dòng “…” vào chuỗi con mà chúng ta lấy ra, nó giống như hàm substr nhưng nó không cắt từng kí tự mà chỉ cắt ra từng câu.
Ví dụ chúng ta áp dụng nó như sau :
1 2 3 |
<?php echo _substr('Chao Mung Ban Den Voi Thu Thuat Web',7); ?> |
// xuất ra màn hình là “Chao Mung…”
Hàm thứ 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php function text_limit($str,$limit=10) { if(stripos($str," ")){ $ex_str = explode(" ",$str); if(count($ex_str)>$limit){ for($i=0;$i<$limit;$i++){ $str_s.=$ex_str[$i]." "; } return $str_s; }else{ return $str; } }else{ return $str; } } ?> |
Hàm trên hoạt động như sau:
– Chỉ định bao nhiêu câu mà bạn muốn hiển thị
– Tìm câu cuối cùng hiển thị là gì
– Nếu câu cuối không phải là khoảng trắng thì nó sẽ tìm đến câu kế tiếp và tìm cho đến khi thấy khoảng trắng.
– Hiển thị ra màn hình
Ví dụ dùng cho hàm trên như sau :
1 2 3 4 |
<?php echo text_limit('Chao Mung Ban Den Voi Thu Thuat Web',7); Xuất ra "Chao Mung Ban Den Voi Thu Thuat " echo text_limit('Chao Mung Ban Den Voi Thu Thuat Web',3); Xuất ra "Chao Mung Ban" ?> |
Vậy là từ nay bạn không cần phải lo vấn đề lấy chuỗi con rồi phải không, hy vọng 2 hàm trên sẽ có ích cho các bạn , và chúc các bạn thành công.
Chuyên Mục: PHP
Bài viết được đăng bởi webmaster
-
huyhieu
-
Vu