Heim > Artikel > Backend-Entwicklung > PHP-Array-Eins-zu-eins-Ersatz-Implementierungscode
Code kopieren Der Code lautet wie folgt:
header("Content-type: text/html; charset=utf-8");
function multiple_replace_words($word,$ replace,$ string,$tmp_match='#a_a#'){
preg_match_all('/'.$word.'/',$string,$matches); //Alle Schlüsselwörter finden
$search = explosion (' ,','/'.implode('/,/',$matches[0]).'/');
//Es gibt kein passendes Schlüsselwort
if(empty($matches[0 ]) ) return false;
//Spezielle Ersetzungseinstellungen
$count = count($matches[0]);
foreach($replace as $key=>$val){
if (! isset($matches[0][$key])) unset($replace[$key]); //Ersetzungen außerhalb der Grenzen eliminieren
}
//Spezielles Ersatzarray und passendes Array zusammenführen
for($ i=0;$i<$count;$i++){
$matches[0][$i] = isset($replace[$i])? $matches[0][ $i];
}
$replace = $matches[0];/Ersetzungsschleifen verhindern, das heißt, das Ersetzungszeichen ist zu diesem Zeitpunkt immer noch das , es wird vorübergehend durch ein bestimmtes Zeichen ersetzt $tmp_match
$replace = implode(',',$replace); //Matching vorübergehend ersetzen Zeichen
$replace = explosion(', ',$replace);
/Ersetzungsverarbeitung
$string = preg_replace($search,$replace,$string,1); //Nur ein Element ersetzen im Array zu einem Zeitpunkt
$string = str_replace ($tmp_match,$word,$string); //Stellen Sie die vorübergehend ersetzten übereinstimmenden Zeichen wieder her
return $string}
//Beispiel 1
$string = 'aaabaaacaaadaaa';
$word = 'aaa';
$replace = array(null,'xxx','yyy');
echo 'Originaltext: '.$ string.'
Ausgabe: '.multiple_replace_words ($word,$replace,$string).'
';
//Beispiel 2
$string = '中文aaab中文ccaaad中文ee';
$word = 'Chinese'
$replace = array(null,'(replace Chinese 2)'; 🎜>echo 'Originaltext:'.$string.'< br/>Ausgabe: '.multiple_replace_words($word,$replace,$string);
/*
Ausgabeergebnis:
Original Text: aaabaaacaaadaaa
Ausgabe: aaabxxxcyyydaaa
Originaltext: Chinesisch aaab Chinesisch ccaaad Chinesisch eee
Ausgabe: Chinesisch aaab (ersetzen Sie Chinesisch 2) ccaaad (ersetzen Sie Chinesisch 3) eee
//*/