2011-12-05 49 views
8

Có cách nào để xóa mọi thứ trước và bao gồm phiên bản cuối cùng của một ký tự nhất định không?PHP xóa mọi thứ trước khi phiên bản cuối cùng của một ký tự

Tôi có nhiều chuỗi chứa >, ví dụ:

  1. the > cat > sat > on > the > mat

  2. welcome > home

tôi cần những chuỗi được định dạng để họ trở nên

  1. mat

  2. home

+0

có thể trùng lặp của [remove_before()] (http://stackoverflow.com/questions/3403476/remove-before) – Gordon

Trả lời

22

Bạn có thể sử dụng một biểu thức chính quy ...

$str = preg_replace('/^.*>\s*/', '', $str); 

CodePad.

... hoặc sử dụng explode() ...

$tokens = explode('>', $str); 
$str = trim(end($tokens)); 

CodePad.

... hoặc substr() ...

$str = trim(substr($str, strrpos($str, '>') + 1)); 

CodePad.

Có thể có nhiều cách khác để thực hiện điều đó. Hãy ghi nhớ các ví dụ của tôi cắt chuỗi kết quả. Bạn luôn có thể chỉnh sửa mã ví dụ của tôi nếu đó không phải là yêu cầu.

+0

là hoạt động ít tốn kém nhất và đắt nhất cho các đề xuất ở trên? – Julian

+0

@Julian Hồ sơ và xem! Tôi nghi ngờ người cuối cùng có thể là người nhanh nhất. – alex

Các vấn đề liên quan