пробел в в str_replace - PullRequest
       3

пробел в в str_replace

0 голосов
/ 09 марта 2020

Я сделал плагин для WordPress для изображений crwaler, но у меня есть код в этом коде

, поэтому, когда я печатаю $ image, я получаю этот вывод https: // localhost / wordpress

есть пробел после https: //

я попробовал str_replace, но не пошел

я хочу результат https://localhost/wordpress

<?php
    function image_url_filter($url) {
        $url = str_replace('?ssl=1', '', $url);
        $url = str_replace('https://', '', $url);
        $url = str_replace('http://', '', $url);
        $url = str_replace('//', '', $url);
        $url = str_replace('http:', '', $url)
            return "https://{$url}";
        }

    function get_chapter_images() {
        include('simple_html_dom.php');
        $url = 'http://localhost/wordpress/manga/manga-name-ain/chapter-4/';
        $html = file_get_html($url);
        $images_url = array();
        foreach ($html->find('.page-break img') as $e) {
            $image_links = $e->src;
            array_push($images_url, image_url_filter($image_links));
        }
        //print_r($images_url);
        return $images_url;
    }

    $images_links = get_chapter_images();
    foreach ($images_links as $image) {
        print_r($image);
    }

1 Ответ

0 голосов
/ 09 марта 2020

%09 и + означает, что в вашей строке есть и tab, и space, поэтому вам нужно использовать urldecode() вместе с str_replace(), чтобы исправить это:

<?php
    $url = 'https%3A%2F%2F%09%09%09+%09%09%09localhost%2Fwordpress%2Fwp-content%2Fuploads%2FWP-manga%2Fdata%2Fmanga_5e62092804a6d%2Ff6954e41130c0015b5b89a3021d55595%2F12.jpg';
    $url_decode = urldecode($url);
    $url_decode = str_replace(" ", "", $url_decode);
    $url_decode = str_replace("\t", "", $url_decode);
    echo $url_decode;

вывод:

https://localhost/wordpress/wp-content/uploads/WP-manga/data/manga_5e62092804a6d/f6954e41130c0015b5b89a3021d55595/12.jpg

Примечание: не забывайте использовать двойные квоты при замене tab или newline

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...