Tôi có một biến chuỗi và tôi muốn nhận được chữ cái đầu tiên của mỗi từ của nó. Tôi muốn kết quả cuối cùng là một mảng các chữ cái đầu tiên.Cách lấy chữ cái đầu tiên của mỗi từ bằng cách sử dụng regex trong PHP
$language = 'Sample Language';
preg_match('/(\b[a-z])+/i', $language, $match);
print_r($match);
Điều tôi nhận được chỉ là chữ cái đầu tiên của từ đầu tiên. Các bản in Mảng trên ([0] => S [1] => S)
Nếu tôi thay đổi nó để
preg_match('/(\bL)+/i', $language, $match);
tôi có thể có được một trận đấu cho L của từ thứ hai. Vì vậy, rõ ràng sau trận đấu đầu tiên nó dừng lại tìm kiếm phần còn lại. Tôi không giỏi lắm với những biểu hiện thông thường. Bất cứ ai có thể chỉ ra những gì tôi đã làm sai?
từ trong chuỗi đầu vào không phải lúc nào cũng được phân cách bằng dấu cách. Nó là khá khó đoán. Một số định dạng Tôi đã đi qua: "MainLanguage: Ngôn ngữ" "MainLanguage, Ngôn ngữ" "MainLanguage: Ngôn ngữ-sublanguage" ở đây tôi muốn nhận được M, L và S
Tôi đã chỉnh sửa câu trả lời của tôi để trang trải tất cả các yêu cầu của bạn. –
Nếu bạn đang sử dụng php, tại sao không sử dụng chức năng dựng sẵn như chất nền? Hoặc truy cập từng chữ cái từ thành phần đầu tiên của mảng ($ word [0])? Mẫu này cũng xử lý các dấu phân tách từ khác nhau: http://phpfiddle.org/main/code/hnu-qz3 – Andrew