Я получил некоторый текст в HTML, как этот
<p>Test test test $v1 $v2 $v3 $v11</p>
С PHP Мне нужно заменить $ v1 $ v2 $ v3 ... $ v9, мне не нужно заменить $ v10 ... $ v *****
Моя проблема в том, когда у меня есть $ v11 в моем тексте это замена $ v1 + 1 в конце:
$v1 = "here";
...
What I got actually : Test test test $v11 => Test test test here1
I need :Test test test $v11 => Test test test
$ вары массив в PHP:
$v1 = "here";
$v2 = "";
$v3 = "";
$v4 = "";
$v5 = "";
$v6 = "";
$v7 = "";
$v8 = "";
$v9 = "";
$vars = array($v1,$v2,$v3,$v4,$v5,$v6,$v7,$v8,$v9);
Моя функция
function replaceVar($vars, $string)
{
$stringReplace = '$v';
$i = 1;
while ($i <= 9) {
if(!empty($vars[$i]) && strlen($stringReplace . $i) == 3)
{
$string = str_replace('$v' . $i, $vars[$i], $string);
}
else
{
$string = str_replace('$v' . $i, "", $string);
}
$i++;
}
return $string;
}
Освобожденные выход: $ вары массив в PHP:
$v1 = "here";
$v2 = "";
$v3 = "";
$v4 = "";
$v5 = "";
$v6 = "";
$v7 = "";
$v8 = "";
$v9 = "";
$vars = array($v1,$v2,$v3,$v4,$v5,$v6,$v7,$v8,$v9);
echo replaceVar($vars, "Test test test $v1 $v2 $v11");
Тест тест тест здесь
Не ясно, вам нужно получить «тест тест тест здесь» или " Тестовый тестовый тест здесь here1 « – user3099298
Фактически он заменяет $ v11 на содержимое переменной $ v1 + 1, потому что он заменяет $ v1 в $ v11 – Sydowh