구분 기호 배열을 사용하여 explode() 할 수있는 방법이 있습니까?구분 기호 배열로 분해
PHP 매뉴얼 :
배열 폭발 (문자열 $ 구분자, 문자열 $ 문자열 [, INT의 $ 한계])
대신 string $delimiter
를 사용하여 성능에 영향을주지 않고 array $delimiter
를 사용할 수있는 방법이 너무 많은?
구분 기호 배열을 사용하여 explode() 할 수있는 방법이 있습니까?구분 기호 배열로 분해
PHP 매뉴얼 :
배열 폭발 (문자열 $ 구분자, 문자열 $ 문자열 [, INT의 $ 한계])
대신 string $delimiter
를 사용하여 성능에 영향을주지 않고 array $delimiter
를 사용할 수있는 방법이 너무 많은?
적절한 정규식을 사용하여 preg_split()
을 사용하십시오.
PHP의 explode 메서드는 여러 구분 기호를 지원하지 않으므로 배열에 전달할 수 없습니다. 또한 여러 구분 기호가있는 구문 분석 문자열은 어떤 종류입니까? 당신은 가장 좋은 방법은 구분 기호를 반복하고, 분해 된 문자열 중 일부를 다시 분해하는 것입니다. 65Fbef05의 코드 @ 개선 것
$str = 'Monsters are SUPER scary, bro!';
$del = array('a', 'b', 'c');
// In one fell swoop...
$arr = explode($del[0], str_replace($del, $del[0], $str));
이것은 정규식 사용을 피하기위한 대단한 트릭입니다. –
그것은 정규식보다 빠를 것입니다. – Pioul
놀라운, briliant하고 간단한 해결책, 명성 thats! –
function explode_by_array($delim, $input) {
$unidelim = $delim[0];
$step_01 = str_replace($delim, $unidelim, $input); //Extra step to create a uniform value
return explode($unidelim, $step_01);
}
. 원래의 문자열에는 "+delim+"
이 사용될 수 있으므로 첫 번째 구분 기호를 사용합니다.
예를 들어 :'print_r (preg_split ("/.,) /", "0 1,2.3"));'당신에게'Array [0] => 0 [1] => 1 [2 ] => 2 [3] => 3)'. – sirhc
'print_r (preg_split ("/ [, \.] /", "0 1,2.3"));'의미 : 고마워, 아마 내가 생각하기에 가장 좋은 방법. – JoeC