Просто используйте заменить
the_str = '###hi##python##python###'
clean_str = the_str.replace('#','')
print(clean_str)
Выход
hipythonpython
Найденный им! Я должен был добавить опцию key:'string'
который меняет имя переменной для 'представления в виде строки' вместо 'идентификатора'.
var order = $('#projects ul').sortable('serialize',{key:'string'});
$.post('ajax.php',order+'&action=updateOrder');
Позволяет говорят, что Вы заказывали сообщения печати, и Ваша страница отправила это в"? идентификатор [] =2&id [] =3&id [] =1&id [] =4&id [] =5" Ваших кодов php.
$_POST['id'] # would be [2,3,1,4,5]
// Now we need to update the position field of these items
foreach($_POST['id'] as $i=>$id ):
// For our first record, $i is 0, and $id is 2.
$post = Post::get($id); # Do you own database access here
$post->position = $i; # Set the position to its location in the array
$post->save(); # Save the record
endforeach
Я думаю, что лучший способ - вообще не использовать sortable('serialize')
, а использовать jQuery для простого итерационного перебора отсортированных id, например, так:
order = [];
$('ul').children('li').each(function(idx, elm) {
order.push(elm.id.split('_')[1])
});
$.get('ajax.php', {action: 'updateOrder', 'order[]': order});
Это имеет преимущество перед явным добавлением сериализованного sortable к URL (или параметру) в том, что он вообще не включает параметр order[]
, если в списке нет li
. (Когда у меня возникла эта проблема, я использовал sortable(connectWith: 'ul')
, поэтому для пользователя было вполне возможно перетащить все li
из одного списка). Напротив, при добавлении сериализованного сортируемого оставался нежелательный '&'.