webForumDet fria alternativet

Räkna antal förändringar

PHP

2 svar · 210 visningar · startad av Kim

Medlem sedan jan. 20007 697 inlägg
Frågan#1

Jag gör en förändring i en text genom att byta ut en viss sträng mot en annan genom att använda str_replace(). Finns flera delar i texten som matchar argumenten så kommer ju alla bytas ut. Finns det något enkelt sätt att ta reda på hur många gånger strängen byts ut?

Rörigt? Jag gör ett litet exempel.
Jag har texten Det är äckligt med banan banan.
Här vill jag byta ut ordet banan mot ***** (fem stjärnor). Två utbyten kommer ske eftersom banan finns representerat två gånger. Har jag istället texten Det är äckligt med banan banan banan så kommer tre byten att ske.

Kan man räkna antalet på nåt vis? :q

Medlem sedan juni 20008 205 inlägg
#2

Jag skulle satsa mina pengar på preg_match_all.

function bort_med_bananer(&$s){
$antal_bananer = preg_match_all('/banan/', $s, $garbage);
$s = str_replace('banan', '*****', $s);
return $antal_bananer;
}

$text = 'Vicken tur att du köpte två bananer bananer, du haru en å eta också!';
$n = bort_med_bananer($text);
echo "Vi har tatt bort $n förekomster av ordet 'banan' i strängen '$text'";

------------------
Vaddå HTLM design? Jag e UTVECKLARE för fan! /mrblonde

Medlem sedan jan. 20007 697 inlägg
#3

Tack så mycket. :)

------------------
de'nim

358 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
183 ms — deklarationer (db)
0 ms — hämta statistik (cache)
172 ms — hämta tråd, inlägg och bilagor (db)
183 ms — ändringar (db)