Как можно сократить этот код, использующий функции контроля вывода (ob)? Возможно избежать повторного вызова foreach? Выполнить код (http://sandbox.onlinephpfunctions.com)
ob_start();
echo "#F_NAME#";
echo "#F_PHONE#";
$props = ob_get_contents();
ob_end_clean();
foreach ($codes as $code)
{
switch ($code)
{
case "F_NAME":
$str = 0;
break;
case "F_PHONE":
$str = 1;
break;
}
$props = str_replace(
'#'.$code.'#',
$str,
$props);
}
echo $props."\n";
ob_start();
echo "#F_EMAIL#";
echo "#F_ADDRESS#";
$props = ob_get_contents();
ob_end_clean();
foreach ($codes as $code)
{
switch ($code)
{
case "F_EMAIL":
$str = 2;
break;
case "F_ADDRESS":
$str = 3;
break;
}
$props = str_replace(
'#'.$code.'#',
$str,
$props);
}
echo $props."\n";
Сборка персонального компьютера от Artline: умный выбор для современных пользователей