Вопрос: Очистка имени файла после боковой загрузки изображения, содержащего `% 20`

Сейчас я создаю плагин для боковой загрузки изображений из внешнего источника.

Интерфейс позволяет мне выбирать файлы на внешний сервер затем загружает их через AJAX & amp; media_sideload_image . Все работает отлично. После загрузки изображений я очищаю заголовок вложения, заменяя черты и подчеркивания пробелами в дополнение к разделению букв /цифр для удобочитаемости.

//sideload the image$src = media_sideload_image(esc_url($url), $post_id, $desc, $return);//convert to attachment src -> ID -> post$id = attachment_url_to_postid($src);$post = get_post($id);//clean the title//BEFORE: BB-SH-YongKang20Road-6//AFTER: BB SH YongKang 20 Road 6$title = $post->post_title;$title = str_replace('-', ' ', $title);$title = str_replace('_', ' ', $title);$title = preg_replace("/[^a-zA-Z0-9sp{P}]/", "", $title);$title = preg_replace('/(?<=[a-z])(?=d)|(?<=d)(?=[a-z])/i', ' ', $title);

Моя проблема заключается в случайном 20 я знаю, что это из-за кодированного пространства % 20 . Теперь все заголовки и имена файлов имеют это случайное число 20.

Как я могу очистить исходный URL-адрес и при этом сделать его действительным или изменить окончательное имя файла, чтобы исключить % 20 / 20 ?


ОБНОВЛЕННОЕ РЕШЕНИЕ

$src = media_sideload_image(rawurldecode($url), $post_id, $desc, $return);

Ответы и комментарии:

Я думаю, что вы хотите esc_url_raw, чтобы входные URL не были закодированы в формате html.
Создан 02-01-2016 12:51 Milo

На первый взгляд я не увидел никаких изменений. Я проверю больше, чтобы убедиться, потому что это кажется хорошей идеей.
Создан 02-01-2016 04:23 jgraup

Создан 04-01-2016 09:29 jgraup

rawurldecode устраняет проблему.
$ src = media_sideload_image (rawurldecode ($ url), $ post_id, $ desc, $ return);
Создан 04-01-2016 09:24 jgraup7,63921444