1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| <?
function str_replace_n($search, $replace, $subject, $n) {
$last = 0;
$i = 0;
while( ($pos=strpos($subject, $search, $last)) !== false) {
if($i==$n) {
$pos2 = $pos+strlen($search);
$before = substr($subject, 0, $pos);
$after = substr($subject, $pos2, strlen($subject)-$pos2);
return $before.$replace.$after;
}
$last = $pos+1;
$i++;
}
return $subject;
}
echo str_replace_n("def", "xxx", "abc def ghi", 0)."<br>";
echo str_replace_n("def", "xxx", "abc def ghi", 1)."<br>";
echo str_replace_n("abc", "xxx", "abc def ghi", 0)."<br>";
echo str_replace_n("abc", "xxx", "abc def ghi", 1)."<br>";
echo str_replace_n("ghi", "xxx", "abc def ghi", 0)."<br>";
echo str_replace_n("ghi", "xxx", "abc def ghi", 1)."<br>";
echo str_replace_n("a", "*", "abc aabc aaabc", 0)."<br>";
echo str_replace_n("a", "*", "abc aabc aaabc", 1)."<br>";
echo str_replace_n("a", "*", "abc aabc aaabc", 2)."<br>";
echo str_replace_n("a", "*", "abc aabc aaabc", 3)."<br>";
echo str_replace_n("a", "*", "abc aabc aaabc", 4)."<br>";
echo str_replace_n("abc", "*", "abc aabc aaabc", 0)."<br>";
echo str_replace_n("abc", "*", "abc aabc aaabc", 1)."<br>";
echo str_replace_n("abc", "*", "abc aabc aaabc", 2)."<br>";
echo str_replace_n("abc", "*", "abc aabc aaabc", 3)."<br>";
echo str_replace_n("abc", "*", "abc aabc aaabc", 4)."<br>";
?> |
Partager