替换PHP字符串中的选定字符

时间:2015-11-25 17:36:13

标签: php substr

我有一个变量:

$var = '+44123456789';

我想替换3个字符,最后是X字符的3个字符,所以:

$var = '+44123XXX789';

我知道我可以使用:

$var = substr($var, 0, 6) . 'XXX' . substr($var, -3);

但我遇到的问题是$var可能有不同的长度。

我如何设置substr以使其以相同的方式工作,但是在任何长度的变量上? (P.S。$var总是至少8个字符。)

3 个答案:

答案 0 :(得分:0)

试试这个

$var = '+44123123789';

echo substr($var, 0, strlen($var) - 6) . 'XXX' . substr($var, -3);//+44123XXX789

$var = '+44123123789111';

echo substr($var, 0, strlen($var) - 6) . 'XXX' . substr($var, -3);//+44123123XXX111

请参阅demo here

答案 1 :(得分:0)

计算字符串长度,然后处理下面给出的substr

 $var = '+44123456789';
$len=strlen($var);
if($len>10){
$len=$len-6;
$var = substr($var, 0, $len) . 'XXX' . substr($var, -3);}
elseif($len==10){
$var = substr($var, 0, 6) . 'XXX' . substr($var, -3);
}
echo $var;

答案 2 :(得分:0)

您可以通过索引访问字符串中的字符:

$var = '+44123456789';
$c = strlen($var)-6;
$var[$c++] = $var[$c++] = $var[$c++] = 'X';
echo $var;