과 사람 항목을 대체하는 두 개의 배열 내가 두 배열이 pre_gmatch에서 가져온가 있다고 할 수 있습니다. 그래서 여기에 무슨 일이 일어나고 있는지 얻을 수있는 코드가, 한 반복적 인 단어 (이 단어는이 경우 수입니다) 첫 번째 배열의 모든 항목에 있습니다 : foreach는 다른
foreach ($names as $key => $name) {
$i++;
$nameclean = str_replace ("number", $numbers[$key], $names[$key]);
echo $nameclean;
}
가 어떻게 첫 번째 배열을 foreach는하는, 결과에서 첫 번째 배열의 필요한 단어를 배열 2의 필요한 항목으로 바꿉니다. 예 : 단어
배열의 첫 번째 항목에있는 숫자은 배열의 첫 번째 항목으로 대체해야합니다. $ numbers
$ mystring, $ names 및 $ numbers는 무엇입니까? 당신이하려는 것을 시각화하는 것은 어렵습니다. – Stegrex
$ mystring은 웹 사이트 콘텐츠입니다. 컬 (curl) 함수를 통해 얻고 있습니다. 그 문자열은 항상 가변적입니다. 한 가지 공통적 인 사항은 첫 번째 문자열 ($ names)의 모든 항목에는 동일한 단어가 들어 있으며, 첫 번째와 두 번째 문자열 항목 수는 모두입니다. 같은. – DadaB
'preg_match_all()'은 일치를 다차원 배열로 설정하므로'$ names [$ key]'와'$ numbers [$ key]'는 여전히 배열이므로'str_replace'는 실패합니다. 또한 일반적인 권장 사항은 "HTML 컨텐트를 해석하는 데 정규 표현을 사용하지 마십시오"입니다. – Passerby