tôi sử dụng smart_explode này() chức năng để phân tích thẻ trong ứng dụng của tôi:
function smart_explode ($exploder, $string, $sort = '') {
if (trim ($string) != '') {
$string = explode ($exploder, $string);
foreach ($string as $i => $k) {
$string[$i] = trim ($k);
if ($k == '') unset ($string[$i]);
}
$u = array_unique ($string);
if ('sort' == $sort) sort ($u);
return $u;
} else {
return array();
}
}
Nó phát nổ một chuỗi $ vào một mảng bằng cách sử dụng $ người khai phá như một tách (thường là một dấu phẩy), loại bỏ các nhân đôi, Trims không gian xung quanh các thẻ, và thậm chí sắp xếp các thẻ cho bạn nếu $ sort là 'sort'. Nó sẽ trả về một mảng trống khi không có gì nằm trong chuỗi $.
Việc sử dụng cũng giống như:
$mytaglist = smart_explode (',', ' PHP, ,,regEx ,PHP');
trên sẽ trở lại:
array ('PHP', 'regEx')
Để lọc các ký tự mà bạn không thích, làm một
$mytaglist = str_replace (array ('?', '$', '%'), '_', $mytaglist);
trước smart_exploding (liệt kê các ký tự "xấu" trong mảng để được thay thế bằng dấu gạch dưới).
Nguồn
2009-03-26 18:58:05
người dùng sẽ nhập "?" tính cách? nó sẽ phá vỡ url – waney
Nó không nên phá vỡ url. – VirtuosiMedia
Đừng quên urlencode() BẤT K user người dùng nhập vào. Điều này sẽ ngăn chặn '#' và '?' từ việc phá vỡ URL. – matpie