Jeg har denne arrayen PHP: $tekst = array( 0=>"Sara spiser skoleboller med rosiner til lunch. Hun spiser skoleboller hver dag.", 1=>"Frida liker fiskeboller og spiser fiskeboller fra lopphavet hver fredag", 2=>"Sara liker ikke fiskeboller og kaster fiskebollene fra lopphavet på lopphavet", 3=>"Sara og Frida spiser seg mette på skoleboller og fiskeboller"); så har jeg denne arrayen som inneholder hva som skal skiftes ut av array $tekst PHP: $skift = array( "skoleboller"=>"boller", "fiskeboller"=>"fisk"); så har jeg denne arrayen som inneholder hva som ikke skal skiftes ut i arrayen $tekst som skal overstyre arrayen $skift PHP: $behold = array( 0=>"skoleboller med rosiner", 1=>"fiskeboller fra lopphavet", 2=>"fiskebollene fra lopphavet"); og til slutt ende opp med ny array PHP: $ny_tekst = array( 0=>"Sara spiser skoleboller med rosiner til lunch. Hun spiser boller hver dag.", 1=>"Frida liker fisk og spiser fiskeboller fra lopphavet hver fredag", 2=>"Sara liker ikke fisk og kaster fiskebollene fra lopphavet på lopphavet", 3=>"Sara og Frida spiser seg mette på boller og fisk"); Hvordan kan dette kodes for å bruke minst mulig serverkraft?
Okei da, her er en løsning iallefall. Kan jo enkelt optimeres med å endre md5() til noe annet som er kjappere - samt loope i første array for ikke regenerere. Men - det klarer du sikkert selv å dille med CPU burde ikke være noe utfordring. Oftere billigere å kjøpe større CPU en å lage verdens raskeste kode. <?php $tekst = array( 0=>"Sara spiser skoleboller med rosiner til lunch. Hun spiser skoleboller hver dag.", 1=>"Frida liker fiskeboller og spiser fiskeboller fra lopphavet hver fredag", 2=>"Sara liker ikke fiskeboller og kaster fiskebollene fra lopphavet på lopphavet", 3=>"Sara og Frida spiser seg mette på skoleboller og fiskeboller" ); $skift = array( "skoleboller"=>"boller", "fiskeboller"=>"fisk" ); $behold = array( 0=>"skoleboller med rosiner", 1=>"fiskeboller fra lopphavet", 2=>"fiskebollene fra lopphavet" ); $ny_tekst = array( 0=>"Sara spiser skoleboller med rosiner til lunch. Hun spiser boller hver dag.", 1=>"Frida liker fisk og spiser fiskeboller fra lopphavet hver fredag", 2=>"Sara liker ikke fisk og kaster fiskebollene fra lopphavet på lopphavet", 3=>"Sara og Frida spiser seg mette på boller og fisk" ); foreach($behold AS $bk=>$bv){ foreach($tekst AS $tk=>$tv){ $tekst[$tk] = str_replace($bv,'{{' . md5($bv) . '}}',$tekst[$tk]); } } foreach($skift AS $sk=>$sv){ foreach($tekst AS $tk=>$tv){ $tekst[$tk] = str_replace($sk,$sv,$tekst[$tk]); } } foreach($behold AS $bk=>$bv){ foreach($tekst AS $tk=>$tv){ $tekst[$tk] = str_replace('{{' . md5($bv) . '}}',$bv,$tekst[$tk]); } } foreach($tekst AS $tk=>$tv){ echo $tv . '<br>'; }