Я хочу изменить строку (в PHP), используя несколько условных выражений, чтобы определить, какое изменение следует внести, обновить строку и продолжать изменять обновленную строку.
Например, начните со строки и на основе условия, внесите изменения в символ, затем используйте вторую версию строки и, основываясь на другом условии, измените ее еще немного и так далее,таким образом, что в конце процесса изменения были кумулятивными.
Видимо, переменная область действия предотвращает следующий подход:
$newstring = "This is a test string";
$value[] // This is an array already defined.
for ($i = 0; $i<=count($value); $i++) {
switch ($value[$i]) {
case -1:
$newstring = preg_replace(// do something with $newstring);
break;
case 0:
$newstring = preg_replace ( // do something else with $newstring);
break;
case 1:
$newstring = substr_replace(//do something else with $newstring);
break;
}
}
Есть ли способ сделать это?
Заранее спасибо.
ОБНОВЛЕНИЕ: Вот мой код.Как и следовало ожидать, $_POST['text1']
- это строка, а $_POST['array']
- это двумерный массив.
$text1 = $_POST['text1'];
$value = $_POST['array'];
for ($i = 0; $i<=count($value); $i++) {
switch ($value[$i][0]) {
case -1:
$newstring = preg_replace("/".$value[$i][1]."/","",$text1,1);
break;
case 0:
break;
case 1:
$newstring = substr_replace($text1, $value[$i][1],$value[$i][2],0);
break;
}
}