Функция str_replace работая с переменной а не со строкой не срабатывает
Код php, для примера использую строку и переменную
$active_series_done=''.$elcat['PROPERTY_SERIYA_VALUE'].'';
$active_series_done1='"';
$active_series_done2='';
$active_series_done3='ЭМАЛЬ "ПТИЧИЙ ДВОРИК';
$active_series_done4='"';
$active_series_done5='';
echo '<pre>';
echo $active_series_done.'<br>';
echo $active_series_done3 ;
echo '</pre>';
$active_series_done3=str_replace($active_series_done4, $active_series_done5, $active_series_done3);
$active_series_done=str_replace($active_series_done1, $active_series_done2, $active_series_done);
echo '<pre>';
echo $active_series_done.'<br>';
echo $active_series_done3;
echo '</pre>';
Код без одинарных кавычек:
$active_series_done=$elcat['PROPERTY_SERIYA_VALUE'];
$active_series_done1='"';
$active_series_done2='';
$active_series_done3='ЭМАЛЬ "ПТИЧИЙ ДВОРИК';
$active_series_done4='"';
$active_series_done5='';
echo '<pre>';
echo $active_series_done.'<br>';
echo $active_series_done3 ;
echo '</pre>';
$active_series_done3=str_replace($active_series_done4, $active_series_done5, $active_series_done3);
$active_series_done=str_replace($active_series_done1, $active_series_done2, $active_series_done);
echo '<pre>';
echo $active_series_done.'<br>';
echo $active_series_done3;
echo '</pre>';
Почему str_replace не срабатывает?
сравнил переменную, с результатом после str_replace:
$active_series_done3=str_replace($active_series_done4, $active_series_done5, $active_series_done3);
$active_series_done=$elcat['PROPERTY_SERIYA_VALUE'];
$active_series_done1='"';
$active_series_done2='';
$active_series_done10=str_replace($active_series_done1, $active_series_done2, $active_series_done);
if($active_series_done===$active_series_done10){
echo 'равны';
}
применил к переменной функцию htmlspecialchars() :
$active_series_done=htmlspecialchars($elcat['PROPERTY_SERIYA_VALUE']);
Ответы (1 шт):
Автор решения: V.Baryshev
→ Ссылка
Проблема была в том, что в переменной знак " это был знак " когда я писал $active_series_done=str_replace('"', '',$elcat['PROPERTY_SERIYA_VALUE'] ); он просто не видел символ ", поэтому я написал так: $active_series_done=str_replace('"', '',$elcat['PROPERTY_SERIYA_VALUE'] ); и код заработал



