Tôi đang cố xóa mọi thứ khỏi chuỗi nhưng chỉ là số (0-9).Mã PHP để xóa mọi thứ trừ số
Tôi nghĩ điều này sẽ làm việc ..
echo preg_replace("[^0-9]","",'604-619-5135');
Nhưng nó echos "604-619-5135". Tôi đang thiếu gì ???
Tôi đang cố xóa mọi thứ khỏi chuỗi nhưng chỉ là số (0-9).Mã PHP để xóa mọi thứ trừ số
Tôi nghĩ điều này sẽ làm việc ..
echo preg_replace("[^0-9]","",'604-619-5135');
Nhưng nó echos "604-619-5135". Tôi đang thiếu gì ???
Hãy thử điều này:
preg_replace('/[^0-9]/', '', '604-619-5135');
preg_replace sử dụng PCREs mà thường bắt đầu và kết thúc bằng một /
.
Bạn cần phải kèm theo mẫu trong dấu phân cách - thường là dấu gạch chéo (/) được sử dụng. Hãy thử điều này:
echo preg_replace("/[^0-9]/","",'604-619-5135');
[Dấu phân cách có thể là bất kỳ ký tự không phải chữ và số, dấu gạch chéo ngược, không phải khoảng trắng.] (http://php.net/manual/en/regexp.reference.delimiters.php) –
Đây là nhà phát triển tương lai, bạn cũng có thể thử điều này. Đơn giản quá
echo preg_replace('/\D/', '', '604-619-5135');
Trích dẫn bên trong/đôi không liên quan gì đến PCRE tho. Rõ ràng (trong những ngày trước '(? Flags)') những người đã thiết kế/viết hàm/API nghĩ rằng bạn nên chuyển cờ regex với biểu mẫu '/ flags' được trích dẫn kép thay vì sử dụng tham số hàm bổ sung . – Qtax
@ Qtax: điểm tốt, vâng tôi biết đó là nơi chúng tôi lấy từ "grep" từ ("g/re/p") –