PHP preg_match_all CamelCase, prefix_ edinme ve elemanları CamelCased

0 Cevap php

I'm trying to use preg_match_all to return an separate arrays for various elements in a CamelCase string. In my example, I'm attempting to obtain the prefix of a string in one array and everything else ( the camelcase portion of the string ) split up into a second array. For instance, get_BookGenreTitle is supposed to return get_ in one array, and another array containing the words Book, Genre, and Title. Or, for further demonstration, post_PersonID would return post_ in one array, and another array containing the word ID.

Ben bitti olsun kod aşağıdaki yığın var, ama biraz özensiz. Bu öneki içeren bir dizi döndürür, dizi de CamelCased elemanlarının sayısına eşit boş unsurları bir dizi içerir.

<?php

$var = "get_BookGenreTitle";

preg_match_all("/(get_|post_)?([A-Z][A-Z0-9]*(?=$|[A-Z][a-z0-9])|[A-Za-z][a-z0-9]+)/", $var, $matches);

print_r($matches);

?>

İade: Array ( [0] => Array ( [0] => get_Book [1] => Genre [2] => Title ) [1] => Array ( [0] => get_ [1] => [2] => ) [2] => Array ( [0] => Book [1] => Genre [2] => Title ) )

Ancak önek dizideki hiçbir boş elemanları ile, CamelCase elemanları ile önek ve ayrı bir dizi ile bir dizi hem dönmek someway olup olmadığını merak ediyordum.

Son Sonuç Örnek: Array ( [0] => Array ( [0] => get_Book [1] => Genre [2] => Title ) [1] => Array ( [0] => get_ ) [2] => Array ( [0] => Book [1] => Genre [2] => Title ) )

0 Cevap