Eğer nasıl ayırıcısını tespit edecek bir dize varsa ben merak ediyorum?
Biz php bir sınırlayıcı parametre gerektirir () explode ile bir dize bölmek biliyorum.
Ama hangi işlevi patlayabilir göndermeden önce ayırıcısını tespit etmek için bir yöntem hakkında?
Şu anda ben sadece kullanıcıya dize çıktısı am ve onlar ayırıcısını girin. Bu iyi - ama ben desen uygulama benim için tanımak için arıyorum.
Ben bir dize örüntü tanıma bu tip düzenli ifadeler bakmak gerekir?
EDIT: Ben başlangıçta sınırlayıcı bir olasılıkla beklenen dizi olduğunu belirtmek için başarısız oldu. Muhtemelen bir CSV olarak kullanılan herhangi bir ayraç. Yani teknik olarak herkes bir CSV dosyası sınırlandırmak için herhangi bir karakter kullanabilirsiniz ancak aşağıdaki karakterlerden birini kullanmak daha muhtemel: virgül, noktalı virgül, dikey çubuk ve bir boşluk.
EDIT 2: Burada bir "belirlenen sınırlayıcı" için geldi uygulanabilir çözümdür.
$get_images = "86236058.jpg 86236134.jpg 86236134.jpg";
//Detection of delimiter of image filenames.
$probable_delimiters = array(",", " ", "|", ";");
$delimiter_count_array = array();
foreach ($probable_delimiters as $probable_delimiter) {
$probable_delimiter_count = substr_count($get_images, $probable_delimiter);
$delimiter_count_array[$probable_delimiter] = $probable_delimiter_count;
}
$max_value = max($delimiter_count_array);
$determined_delimiter_array = array_keys($delimiter_count_array, max($delimiter_count_array));
while( $element = each( $determined_delimiter_array ) ){
$determined_delimiter_count = $element['key'];
$determined_delimiter = $element['value'];
}
$images = explode("{$determined_delimiter}", $get_images);