Ссылка на пост формируется из указанного пользователем заголовка. Например заголовок "Привет мир" выдасть url /post/privet-mir , но если написать "При вет" (после "при" два пробела), тогда ссылка будет /post/pri%C2%A0-vet и конечно же эта ссылка битая и пост не отображается.
Метод который сохраняет пост:
editor.save().then((outputData) => {
let postParams = {};
//postParams.name = $("#name").text();
postParams.name = $.trim($("#name").text())
postParams.add = $("#add").val();
postParams.access_id = $("#access_id").val();
postParams.price = $("#price").val();
postParams.tag = $("#tag").val();
postParams.group_id = $("#group_id").val();
postParams.repost_id = <?php echo $_GET['repost_id'] ? $_GET['repost_id'] : 0; ?>;
postParams.content = outputData;
$.ajax({
type: "POST",
url: '/post/add',
data: postParams,
success: function (data) {
// window.location.replace("/post/" + data);
// window.location.replace("/post/" + encodeURIComponent(data));
window.location.replace(encodeURI("/post/" + data));
}
});
});
Поле что нам необходимо это поле name, как видно я делаю для него $.trim, но логично что он убирает двойные пробелы только в начале и конце ссылки. Спасибо.
Правильно понимаю что вам нужно любое количество пробелов заменить на -
? Если да, то примените к своему url
replace
с регулярным выражением
YOURURL.replace(/ /g, '-')
Можете воспользоваться методом str.replace
:
$("#name").text().replace(/\s/g, '');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Получаю с сервера массив объектов tempArrayПодскажите, как создать копию этого массива и переименовать поле name на title