Как заменить несвязанные изображения ссылкой на изображение? - PullRequest
1 голос
/ 24 октября 2011

В PHP

Я конвертирую большое количество постов в блоге во что-то более мобильное.Поскольку в этих сообщениях блогов, похоже, много больших изображений, я хотел бы использовать некоторое регулярное выражение или что-то еще, чтобы перейти к HTML-статье и заменить любые изображения, которые в настоящее время не связаны со ссылкой на это изображение.Это позволит мобильному браузеру отображать статью без каких-либо изображений, но указывать ссылку на изображение там, где изображение будет таким образом, уменьшать размер загружаемой страницы.

В качестве альтернативы, если кто-либо знает какие-либо классы / функции phpэто может облегчить работу по форматированию этих постов, пожалуйста, предложите.

Любая помощь будет блестящей!

Ответы [ 3 ]

0 голосов
/ 24 октября 2011

Как насчет того, чтобы сделать это в JQuery вместо PHP.Таким образом, он будет работать в разных программах для ведения блогов.

Вы можете сделать что-то вроде ...

$(document).ready( function () {
    $('#content img').each(function () {
        var imageUrl = $(this).attr('src');
        //* Now write codes to delete off the image and put in a link instead. :)
    });
});
0 голосов
/ 24 октября 2011

С помощью Regexp примерно так:

$c = 0;
while(preg_match('/<img src="(.*?)">/', $html, $match) && $c++<100) {
  $html = str_replace($match[0], '<a href="'.$match[1].'">Image '.$c.'</a>');
}

Вы также можете использовать preg_replace (сохраняет цикл), но цикл допускает легкие расширения, например, использование функций изображения для создания миниатюр.

0 голосов
/ 24 октября 2011

Для разбора HTML используйте HTML-парсер.Regex не является правильным инструментом для анализа документов HTML или XML.PHP DOM предлагает функцию loadHTML ().См. http://in2.php.net/manual/en/domdocument.loadhtml.php. Используйте функции DOM для доступа и изменения элементов img.

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