kryamk
@kryamk

Почему после ajax запроса кавычки меняются?

Возвращается название поста вместо: Дом "Новый" вот такое: Дом #171;Новый#187;
Если пропишу просто echo $srt так норм будет? Или повлияет на безопасность?
Может как-то лучше по другому сделать, это старый сайт, может после обновления такое началось, хз.
console.log(data.referer) //"http://mysite.ru/projects/?material=Профилированный брус&price-min=0&price-max=2000000&floors=&photo=no-photo"

$.post( myajax.url, data, function(response) {
	$('.projects__wrapper').html(response);
});


function OrderBy ()
{
	$_POST['referer'] = str_replace(' ', '%20', $_POST['referer']);
	$str = file_get_contents($_POST['referer']."&ajax-sort=1");
	// зачем нижние три строки? Если вместо них echo $srt записать, то норм всё. 
	$str = str_replace('&', '', $str);
	$str = str_replace('#038;', '', $str);
	print preg_replace('/(ajax\-sort\=1)/', '', $str);
	wp_die();
}
add_action('wp_ajax_my_action', 'OrderBy');
add_action('wp_ajax_nopriv_my_action', 'OrderBy');
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Вот строка $str = str_replace('&', '', $str); вам всё и портит. Без неё выводимый текст будет иметь вполне корректный HTML-формат, правильно отображаемый в браузерах. А с вырезанными & уже получается невесть что...

Но для безопасности вашего сайта нужно обфусцировать все <script>, что бы они не попадали к вашим пользователям в чистом виде - это небезопасно, XSS может получиться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы