Forum und email

str_replace

(PHP 4, PHP 5)

str_replace — Erstatter alle forekomster af søgestrengen med erstatningsstrengen.

Beskrivelse

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Denne funktion returnerer en streng eller et array med alle forekomster af search i subject erstattet med den givne replace -værdi. Hvis du ikke skal bruge smarte erstatningsregler (som regulære udtryk), bør du altid bruge denne funktion i stedet for ereg_replace() eller preg_replace().

Siden PHP 4.0.5, kan ethvert parameter i str_replace() være et array.

Warning

I PHP-versioner tidligere end 4.3.3 eksisterede der en fejl når man brugte arrays både som search - og replace parametre hvilket forårsagede at tomme search -indekser blev ignoreret, uden at følge med i hvor pointeren var placeret i replace -arrayet. Dette er blevet rettet i PHP 4.3.3, scripts der er afhængig af denne fejl, bør fjerne tomme søgeværdier førend denne funktion kaldes, for at simulere den originale opførsel.

Hvis subject er et array, bliver søgningen og erstatningen udført på hvert element i subject , og returværdien bliver også et array.

Hvis search og replace er arrays, så tager str_replace() én værdi fra hver array og bruger dem til at foretage søg og erstat på subject . Hvis replace har færre værdier end search , så bliver der brugt en tom streng til resten af erstatningerne. Hvis search er et array og replace er en streng, så vil denne erstatning blive brugt for hvert element i search . Det omvendte ville dog ikke give mening.

Example#1 str_replace() eksempler

<?php
// Giver: <body text='black'>
$bodytag str_replace("%body%""black""<body text='%body%'>");

// Giver: Hll Wrld f PHP
$vowels = array("a""e""i""o""u""A""E""I""O""U");
$onlyconsonants str_replace($vowels"""Hello World of PHP");

// Giver: Du skulle spise pizza, øl og is hver dag. You should eat pizza, beer, and ice cream every day
$phrase  "Du skulle spise frugter, grønsager og fiber hver dag.";
$healthy = array("frugter""grønsager""fiber");
$yummy   = array("pizza""øl""is");

$newphrase str_replace($healthy$yummy$phrase);

// Brugen af count-parametren er tilgængelig fra PHP 5.0.0
$str str_replace("ll""""good golly miss molly!"$count);
echo 
$count// 2
?>

Note: Denne funktion er binary-safe.

Note: Fra og med PHP 5.0.0 vil antallet af matchede og erstattede udtryk (search ) blive returneret i count , som bliver givet via reference. Før PHP 5.0.0 var denne parameter ikke tilgængelig.

Se også str_ireplace(), substr_replace(), ereg_replace(), preg_replace() og strtr().