2012-12-20 2 views
2

J'ai une chaîne et je veux remplacer les 7 derniers charateurs de la chaîne par "#". Par exemple j'ai "MerryChristmasu87yujh7" Je veux remplacer "87yujh7" par sept "#######". Ainsi, la dernière chaîne sera "MerryChristmasu #######".remplacer les sept derniers caractères de la chaîne

J'ai essayé le code suivant mais il renvoie "MerryChristmasu ####### 1". Il ne convertit pas tous les sept caractères de fin.

$string = "MerryChristmasu87yujh7"; 
$match = substr($string, -7, -1); 
$result = str_replace($match, "#######", $string); 

Répondre

7

Devrait être ...

$match = substr($string, -7); 

... sans la finale -1. Mais en fait, il est beaucoup mieux fait avec ...

$result = substr($string, 0, -7) . str_repeat('#', 7); 

... ou, plus générique:

$coverWith = function($string, $char, $number) { 
    return substr($string, 0, -$number) . str_repeat($char, $number); 
}; 
+0

merci pour l'aide, fonctionne à merveille :) –

1
$cuttedString = substr("your string", -7); 

cela devrait faire le travail.

Questions connexes