Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Chương trình PHP loại bỏ ký tự không phải chữ số khỏi chuỗi

Ví dụ 1: Regex character class

<?php
$my_str = "Thisis!@sample*on&ly)#$";
$my_str = preg_replace('/[^a-z0-9]/i', '', $my_str);
echo "The non-alphanumeric characters removed gives the string as ";
echo $my_str;
?>

Kết quả

The non-alphanumeric characters removed gives the string as Thisissampleonly

Ví dụ 2: Regex shorthand \W

<?php
$my_str = "This!#is^&*a)(sample*+_only";
$my_str = preg_replace('/[\W]/', '', $my_str);
echo "The non-alphanumeric characters removed gives the string as ";
echo $my_str;
?>

Kết quả

The non-alphanumeric characters removed gives the string as Thisisasampleonly

Giải thích

Hàm preg_replace() thay thế khớp regex bằng chuỗi rỗng.

  • Ví dụ 1: /[^a-z0-9]/i - giữ lại chữ cái (a-z, không phân biệt hoa/thường nhờ flag i) và số (0-9). Xóa tất cả ký tự khác.
  • Ví dụ 2: /[\W]/ - \W khớp với bất kỳ ký tự NON-word (không phải chữ cái, số, gạch dưới). Lưu ý: gạch dưới _ được coi là word character, nên KHÔNG bị xóa. Kết quả ví dụ 2 vẫn còn "_".

Muốn xóa cả gạch dưới: dùng /[^a-z0-9]/i hoặc /[\W_]/.