10/10/2018, 11:25

[Function] - Nhờ anh em giúp 1 tí về lọc chuỗi...

Zen đang cần 1 hàm loại bỏ tất cả các ký tự không phải là chữ (a-z và A-Z) hoặc số (0-9) ra khỏi chuỗi $str ngoại trừ kí tự "space" khoảng trắng

$str = preg_replace('/[^a-z0-9]+/i',',$str); thằng này nó bỏ tất tần tật

Cảm ơn anh em đã quan tâm!
vnso_vn viết 13:38 ngày 10/10/2018
Code:
$str1 =array('/','\\','\'','"',',','.','<','>','?',';',':','[',']','{','}','|','=','+','-','_',')','(','*','&','^','%','$','#','@','!','~','`');
$str = str_replace($str1 , '', $str);
Hơi dài , ai có cách nào hay vào chỉ cho bạn kìa
sonnb viết 13:33 ngày 10/10/2018
sao bạn vnso_vn không hướng dẫn bạn ý lấy (a-z và A-Z) và (0-9) từ string ra thay vì ngược lại nhỉ
Profit viết 13:26 ngày 10/10/2018
haitromhoarung viết 13:26 ngày 10/10/2018
Mình nghĩ bạn @profit nên cho thêm dấu + vào thì khi tìm nó không phải thay từng ký tự một. Giả sử. abc%$$ thì nó sẽ thay 1 lần bằng abc luôn thay vì thay 3 lần mới ra được abc.
Code:
$new_string = preg_replace('/[^A-Za-z0-9\s]+/', '', $string); 
/s thay cho ký tự space.
haitromhoarung viết 13:35 ngày 10/10/2018
À nhầm vừa mới nhìn thấy dấu * của bạn @profit. Sorry.
haicop viết 13:39 ngày 10/10/2018
Hàm sau bỏ tất trừ chữ, số,_ , dấu . , bạn tự tùy biến cho đẹp
function clear_file( $Raw,$skip=NULL ){
$Raw = trim($Raw);
$RemoveChars = array( "([^a-zA-Z0-9_.".$skip."])" );
$ReplaceWith = array("");
return @preg_replace($RemoveChars, $ReplaceWith, $Raw);
}
Bài liên quan
0