Итак, я отправляю строковый параметр в функцию javascript, и проблема заключается в пробельных символах и/или кавычках. Я могу работать с одним из них, но не могу понять, как заставить оба способа работать одновременно.Кодирование параметров (кавычки и пробел)
Я оставил encodeURIComponent и decodeURIComponent к моему примеру, поскольку в настоящее время я использую их для работы с пробелами.
Javascript:
function alertTitle(title){
alert(decodeURIComponent(title));
}
PHP:
//...fetching from MySQL
$title = $row['title'];
//If $title content is wrapped in single or double quotes, this will do:
$title = str_replace("\"",""",$row['title']);
//But if it's not, and has spaces, I have to wrap it in quotes for encodeURIComponent:
$title = '\''.$row['title'].'\'';
//And that obviously gives error in encodeURIComponent if $title happens already to have
// single quotes
//..And sending $title to javascript:
echo '<a onclick="alertTitle(encodeURIComponent('.$title.'));" href="#">Alert</a>';
Так или иначе мне нужно бежать одиночные кавычки также, или потом с каким-то совершенно иным подходом. Но это уже так близко, поэтому я бы хотел, чтобы я просто пропустил что-то простое.
$ название может быть anykind из следующих примеров:
"Название"
"Название с пробелами"
'Название'
'Title' с «все в сочетании "
Название" Blaablaa "здесь
И так далее.
Все советы более чем приветствуются. Благодаря!
'эхо json_encode ($ название)', и при необходимости запустить что через htmlspecialchars(), а также. –
Спасибо Marc! Использование обоих из них отлично справилось с работой! Черт, как просто! – kaarto