-4
나는 문자열을 가지고 : "이것은 내가 4 개 문자열로 분할 할 A [집/자동차]에서 [소년/소녀]입니다 :PHP 문자열 분할 및 결합은
- 이것은의 소년 집
- 이 문제는이 차의 소녀 자동차
- 에서 소년 집
- 의 소녀
내가 그렇게 할 수 있습니까? 감사합니다.
나는 문자열을 가지고 : "이것은 내가 4 개 문자열로 분할 할 A [집/자동차]에서 [소년/소녀]입니다 :PHP 문자열 분할 및 결합은
내가 그렇게 할 수 있습니까? 감사합니다.
나는 이것이 당신이
$string = 'This is a [boy/girl] in a [house/car]';
preg_match_all('/\[(.+?)\]/', $string, $matches);
$find_array = $matches[0];
foreach($matches[1] as $row) {
$replace_array[] = explode("/", $row);
}
$output[] = str_replace($find_array,array($replace_array[0][0],$replace_array[1][0]),$string);
$output[] = str_replace($find_array,array($replace_array[0][1],$replace_array[1][0]),$string);
$output[] = str_replace($find_array,array($replace_array[0][0],$replace_array[1][1]),$string);
$output[] = str_replace($find_array,array($replace_array[0][1],$replace_array[1][1]),$string);
print_r($output);
// 출력
[0] => This is a boy in a house [1] => This is a girl in a house [2] => This is a boy in a car [3] => This is a girl in a car
대단히 감사합니다. 루프가 필요하므로 전역 사례를 찾고 있는데 루프에 대해 얼마나 많은 단계가 있는지 모릅니다. (나의 영어를 위해 유감스럽게 생각한다) –
을 나는 귀하의 질문에 어떤 PHP 코드를 볼 수 없습니다 도움이되기를 바랍니다. – EternalHour
당신이 찾고있는 것을 "순열 (permutations)"이라고합니다. 대괄호로 대체를 정규 표현식으로 매칭 한 후에는 루프 또는 재귀 함수가 필요합니다. – mario
접근법에 대한 [간단한 프로그램을 만드는 알고리즘이 필요합니다 (문장 치환)] (http://stackoverflow.com/q/5613089)를 참조하십시오. (어딘가에 PHP 예제가 있습니다. 방금 복사 + 붙여 넣기를 사용했다면 검색을 사용하십시오.) – mario