PHP串联覆盖


PHP concatenation override

是否可以更改字符串中带有变量的连接字符串?

  $x = 'XXX' . $y;

有没有一种方法可以让$x包含"XXY",而不改变它?

我需要为此设置什么$y?是否存在类似"删除前一个字符"的内容?

编辑:

也许我没有把自己说清楚:

$y需要是一个字符串,没有函数或任何东西。应该发现一个漏洞。。。

我不知道,但您可以使用substr_replace:

$x = substr_replace($x, $y, -1);

如果要在$x:末尾替换$y中的确切字符数

$x = substr_replace($x, $y, -(strlen($y));
$x = substr("XXX", 0, -1) . $y;

根据你的编辑,我认为你不能按照你希望的方式做你想做的事。

只需将$y的值设置为退格字符加上'y':

$y = chr(8) . 'Y';

试试这个:

$y = chr(8).'Y';
$x = 'XXX' . $y;

chr(8)应该给你一个退格字符。