Забыли пароль?
Запросите новый здесь.

Автор темы: Zaxap
ID темы: 1912
Информация:
Тема содержит 10 сообщения, была просмотрена 3206 раз.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » PHP
 Распечатать тему
Как ко всем <img > в...определенной "местности" (переменной) добавить alt='"
Zaxap
Скорее всего, плохо искал (как всегда), но найти я, что и так понятно, не смог, как это реализовать.

Есть, к примеру, "текст" <p><img src=''><p>a-text</p><p>b-text</p> с "изображением" вида
<p><img src='http://www.rusfusion.ru/images/avatars/konata_lr.png'></p>
из этого надо сделать
<p itemscope itemtype='http://schema.org/ImageObject'><img src='http://www.rusfusion.ru/images/avatars/konata_lr.png' alt='".$title."' itemprop="contentUrl" /></p>

( если itemscope itemtype=' ' применимо к <p>, если нет - надо переписать и <p></p> в <div></div> )
Зло не дремлет, а я добрый...
 
Polarfox
регулярки?
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме

PolarLab - вход для подопытных
 
Web
Pisatel
Микроразметка? Гуд. Регулярными выражениями, скорее всего. И через preg_match(); я думаю.
З.ы. Пустой див- невалидно. Микроразметка- тоже невалидна пока вроде. Так что, если борешься за кошерность сайта- диву давай класс, ид или хотя бы стайл.
 
Web
Polarfox
пруф что пустой тег невалиден, пруф что микроразметка невалидна или небыло.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме

PolarLab - вход для подопытных
 
Web
Zaxap
Pisatel, <p> лучше тогда использую...ладно, раз никто ничего готового не даст...
Спасибо за направлениеab Будем копать в сторону preg_match(); (вроде, понял, как с этим вывести все...ad)...
Если знаете, как точно - пишите, я, в свою очередь, тоже напишу, если пойму, как.

---

И немного оффтопика:
<p></p>
<p></p>
или
<br />
<br />
(пустые <p></p> теги или <br />ad

Что будет правильнее?
Зло не дремлет, а я добрый...
 
lucky
И немного оффтопика:
<p></p>
<p></p>
или
<br />
<br />
(пустые <p></p> теги или <br />ad

Что будет правильнее?


думаю лучше обойтись без <br>, ведь отступ в этом случае не регулируется.., лучше использовать стили сброса, т.е. все теги по нулям, а в нужных местах нужным тегам задавать нужные отступы, по-моему так более гибко и пустые абзацы не понадобятся
 
Polarfox
Ага именно, пустые теги не нужны семантически, это костыли.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме

PolarLab - вход для подопытных
 
Web
Zaxap
Ну если они сами появляются =_=
Или же...надо если, чтобы абзац выделить...


Загрузить источник  GeSHi: PHP
  1. preg_match('/<img .*?(?=src)src=\"([^\"]+)\"/si', $article, $matches);
  2. $artic1e = preg_replace('/<img src=\"(.*)\">/', '<img itemprop='images' src='".$matches[1]."' alt='".$subject."' />', $article);
Добавлено за 0.029 секунд, используя GeSHi 1.0.8.10


заменяет только
<img src="" style="" />
, а
<img style="" src="" width="" height="" />
заменять не желает.

В добавок к этому, замена происходит какая-то стремная:

<p>
-Картинка
-кусочек текста
<br>
</p>

заместо

<p>
-картинка
</p>
<p>
текст
</p>
<br>

(пишу примерно, чтобы было понятно.)
Зло не дремлет, а я добрый...
 
Pisatel
Не силен в регулярках, но как-то так, возможно
Загрузить источник  GeSHi: PHP
  1.  
  2. $text = preg_replace('#<p><img src=\'(.*?)\'></p>#si', '<p itemscope itemtype=\'http://schema.org/ImageObject\'><img src=\'\1\' alt=\'".$title."\'itemprop=\'contentUrl\' /></p>', $text);
Добавлено за 0.028 секунд, используя GeSHi 1.0.8.10

И не забывай, что в базе код может храниться в мнемониках, то есть вместо <img src=" можно увидеть что-то типа &lt;img src=&quot;
 
Web
Zaxap
Код конкретно неверен, Pisatel...:)
Тут все дело в выборке <img />... Неверно происходит т.т
---
Сделал по логике/аналогии, т.е. так:
Загрузить источник  GeSHi: PHP
  1. preg_match('/<img .*?(?=src)src=\"([^\"]+)\"/si', $article, $matches);
  2. $artic1e = preg_replace('/<img src=\"(.*?)\">/si', "<img src='".$matches[1]."' alt='".$subject."' itemprop='image' />", $article);
Добавлено за 0.032 секунд, используя GeSHi 1.0.8.10


Работает:) Коряво, как я и сам вижу, но зато меняет все и везде.
Изменил(а) Zaxap, 16.11.2013 18:09
Зло не дремлет, а я добрый...
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Каким ява скриптом приделать выбор цвета для поля input type="text"?  →  Вопросы новичков 1 / 75 10.01.2020 20:47
Instagram ВК FaceBook - ведение аккаунтов "под ключ"  →  Платные услуги 0 / 91 01.12.2019 18:37
Панель "последние статьи" в зависимости от языка сайта и категории статьи  →  Моды 9 / 378 31.10.2019 22:59
Как перейти с http на https  →  Вопросы новичков 30 / 21621 24.10.2019 18:45
Как правильно сделать ЧПУ и переиндексировать сайт?  →  Моды 4 / 4748 24.10.2019 17:38
Посоветуйте JS-слайдер чтобы фотки JPG сменялись как в GIF-анимации  →  Плагины 2 / 2497 20.10.2019 13:34
Перешел на HttpS - Как теперь удалить Http?!  →  Вопросы новичков 1 / 576 18.06.2019 13:19
как правильно сделать phpmailer на utf-8?  →  Ошибки, баги 5 / 693 09.06.2019 14:15
Как определить необходимые мощности хостинга для группы сайтов с определённой посещалкой?  →  Хостинг 0 / 1087 20.02.2019 20:46
В разных статьях "краткого содержания" картинки "налазят" друг на друга  →  Ошибки, баги 5 / 682 14.01.2019 13:09
Топ 5 пользователей форума
Alex Alex (1,211)   Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)