Img src image 1 alt title

Img src image 1 alt title

Из раздела хаки DLE TimThumb – PHP Image Resizer — это решение проблемы не красивого отображения превьюшек (уменьшенных копий изображения Thumb), замечательное решение для разработчиков шаблонов, так и пользователям. Тем самым вы получите более качественный вид и не какого ухудшения, по тестированием некоторых пользователей уменьшение трафика, аж в два раза. А это в свою очередь означает, что не нужно тратить деньги за лишние гигабайты.

Многим должно понравится предложенное решение автора из рубрики хаки DLE TimThumb – PHP Image Resizer — которое позволяет решить вопрос с корректными отображением уменьшенной копии картинок Thumb. Сейчас часто можно увидеть модное применение маленьких превьюшек на главной странице веб-ресурса, где на иллюстрациях шаблона все выглядит красиво, однако если обратить внимание, когда картинка с 600х400 пикселей сжимается средствами движка до 150х150 — просто тихий ужас.

Основные возможности данного метода для всё для dle DataLife Engine в бесплатном скрипте TimThumb.PHP, После установки вы получите :
1. Быструю загрузку!
Советую ставить ухудшение качества до 85%. Вы даже не заметите ухудшения, но вес страницы теперь будет в 2 раза меньше.
2. Уникальные картинки.
3. Красивое правильное обрезание.

При тестировании на нескольких больших проектов с общей посещаемостью около 45к.
До того, как модуль был установлен, трафик в день по 200гб уходило и приходилось переплачивать за него.
А теперь трафик сократился в 2 раза (90гб в сутки)
Соответственно деньги теперь не приходится тратить за лишние гигабайты.
Да и поисковики любят сайты если он быстрее загружаются.

Для этого используется отличный и

Все просто — берем timthumb.php, помещаем в корень, открываем нужный шаблон
вместо

Стандартный метод портит изображение, а этот, берёт часть из всего изображения.
допустим оригинал 100 x 100

А если изображение не так

То, в шаблонах, там где изображение из поста, дописать к src data-
чтоб было как ниже на примерах

Автор: neveDimka
Посмотреть хак DLE TimThumb – PHP Image Resizer в текстовом виде

Скачивание будет доступно через: сек.

Внимание! Скачивать файлы без ожидания могут зарегистрированные пользователи.
Регистрация на сайте самая легкая!

I would like to create a page where all images which reside on my website are listed with title and alternative representation.

I already wrote me a little program to find and load all HTML files, but now I am stuck at how to extract src , title and alt from this HTML:

I guess this should be done with some regex, but since the order of the tags may vary, and I need all of them, I don’t really know how to parse this in an elegant way (I could do it the hard char by char way, but that’s painful).

Читайте также:  Bq aquaris x5 16gb

10 Answers 10

EDIT : now that I know better

Using regexp to solve this kind of problem is a bad idea and will likely lead in unmaintainable and unreliable code. Better use an HTML parser.

Solution With regexp

In that case it’s better to split the process into two parts :

  • get all the img tag
  • extract their metadata

I will assume your doc is not xHTML strict so you can’t use an XML parser. E.G. with this web page source code :

Then we get all the img tag attributes with a loop :

Regexps are CPU intensive so you may want to cache this page. If you have no cache system, you can tweak your own by using ob_start and loading / saving from a text file.

How does this stuff work ?

First, we use preg_ match_ all, a function that gets every string matching the pattern and ouput it in it’s third parameter.

We apply it on all html web pages. It can be read as every string that starts with " ", contains non ">" char and ends with a >.

We apply it successively on each img tag. It can be read as every string starting with "alt", "title" or "src", then a "=", then a ‘ " ‘, a bunch of stuff that are not ‘ " ‘ and ends with a ‘ " ‘. Isolate the sub-strings between ().

Finally, every time you want to deal with regexps, it handy to have good tools to quickly test them. Check this online regexp tester.

EDIT : answer to the first comment.

It’s true that I did not think about the (hopefully few) people using single quotes.

Well, if you use only ‘, just replace all the " by ‘.

If you mix both. First you should slap yourself :-), then try to use ("|’) instead or " and [^ø] to replace [^"].

Just to give a small example of using PHP’s XML functionality for the task:

I did use the DOMDocument::loadHTML() method because this method can cope with HTML-syntax and does not force the input document to be XHTML. Strictly speaking the conversion to a SimpleXMLElement is not necessary — it just makes using xpath and the xpath results more simple.

Читайте также:  Excel не показывает сумму выделенных ячеек

If it’s XHTML, your example is, you need only simpleXML.

The script must be edited like this

foreach( $result[0] as $img_tag)

because preg_match_all return array of arrays

You may use simplehtmldom. Most of the jQuery selectors are supported in simplehtmldom. An example is given below

I used preg_match to do it.

In my case, I had a string containing exactly one tag (and no other markup) that I got from WordPress and I was trying to get the src attribute so I could run it through timthumb.

In the pattern to grab the title or the alt, you could simply use $pattern = ‘/title="([^"]*)"/’; to grab the title or $pattern = ‘/title="([^"]*)"/’; to grab the alt. Sadly, my regex isn’t good enough to grab all three (alt/title/src) with one pass though.

Here’s A PHP Function I hobbled together from all of the above info for a similar purpose, namely adjusting image tag width and length properties on the fly . a bit clunky, perhaps, but seems to work dependably:

Here is THE solution, in PHP:

Just download QueryPath, and then do as follows:

That’s it, you’re done !

I have read the many comments on this page that complain that using a dom parser is unnecessary overhead. Well, it may be more expensive than a mere regex call, but the OP has stated that there is no control over the order of the attributes in the img tags. This fact leads to unnecessary regex pattern convolution. Beyond that, using a dom parser provides the additional benefits of readability, maintainability, and dom-awareness (regex is not dom-aware).

I love regex and I answer lots of regex questions, but when dealing with valid HTML there is seldom a good reason to regex over a parser.

In the demonstration below, see how easy and clean DOMDocument handles img tag attributes in any order with a mixture of quoting (and no quoting at all). Also notice that tags without a targeted attribute are not disruptive at all — an empty string is provided as a value.

Using this technique in professional code will leave you with a clean script, fewer hiccups to contend with, and fewer colleagues that wish you worked somewhere else.

Обращали внимание, что прописанный в title текст для вставляемых вами изображений не выводится в записи? Т.е. alt изображения выводится как и положено, а вот атрибута title нет.

Читайте также:  Unknown error please try again later

Внимание на данную проблему обратил мой клиент. Как оказалось, эта очередная "фича" WordPress. Люди жалуются, что неплохо бы вернуть. Обещали в будущем.

Видим по красной стрелке чего не хватает вот здесь:

По идее должно все быть так, с точки зрения оптимизации:

Для тех кто не понял о чем речь, смотрим небольшое видео:

Можно, конечно, вручную прописывать атрибут title для каждой картинки в режиме HTML записи. А можно внедрить простой хак и все автоматизировать. Кто знает когда разработчики ядра WP вернут данную функцию по умолчанию.

На том же движке DLE подобной проблемы нет и админы сайта http://apkis.net не мучаются с CMS. Но DLE платный.

Решаем проблему на WordPress

Открываем файл functions.php вашего шаблона и сразу после с новой строки вставляем:

Решение найдено на просторах буржунета.

По итогу мы добьемся поставленной цели о возврате атрибута title для изображений в статье, в чем сможете убедиться сами.

Единственный нюанс: хак будет работать только на вставленный с этого момента изображения. Чтобы появились на старых — придется вам руками пройтись по сайту и снова проставлять картинки в записи.

Давай, оцени статью!

Привет. Я автор этого блога, а так же магазина WP-R.ru и ридера блогов вебмастеров/SEO-специалистов WMSN.ru

Можешь оставить свой вопрос в комментариях к статье или предложить идею для новой статьи. Не стесняйся.

А может обновят опять WordPress и появится снова этот атрибут title, они там обновления часто делают, вообще то.

У меня такое было когда таблица рухнула какая-то при переносе — вообще все альты, тайтлы и тд стерлось) Пришлось восстановить ее средствами сайтовой панели и все заработало.

Конечно слегка не в тему, но может кому-то поможет.

Я подожду, все равно этот способ работает для новых изображений, вот если бы и старые исправились была бы польза.

а вы думаете когда двигло обновится, вам не придется старые обходить?))

Продолжаю изучать программирование сайтов. Описано интересное решение задачи.
Я на своем блоге вообще ни alt ни title для изображений не использую. Просто не вижу смысла в нынешнее время.
Хотя не отрицаю, данные атрибуты могут быть очень полезны, особенно, когда дело касается интернет-магазинов, в которых представлены фотографии товаров. Недавно заметил нововведение в Яндекс при поиске картинок. Там начала отображаться стоимость товаров, показанных на некоторых иллюстрациях.

Ссылка на основную публикацию
High speed hdmi cable with ethernet
Приветствую всех посетителей блога о компьютерах. Сегодня бы очень хотелось поведать читателям о так называемом HDMI кабеле, с помощью которого...
Freedom planet 2 дата выхода
Даты выхода Дата выхода - это та временная черта, после которой игра считается вышедшей, что обычно подразумевает, что ее уже...
Friday the 13th the game xbox one
Готовы ли вы столкнуться с бессмертным злом, ужасом во плоти? Тогда мультиплеерный ассиметричный экшен Friday the 13th: The Game для...
Highscreen pure j 4pda прошивка
Внимание! Использование инструментов для перепрошивки неопытными пользователями может привести к выходу аппарата из строя. Установка этого обновления приведет к полному...
Adblock detector