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

Автор темы: Zaxap
ID темы: 1912
Информация:
Тема содержит 10 сообщения, была просмотрена 4263 раз.
Просмотр темы
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 перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Pisatel
Микроразметка? Гуд. Регулярными выражениями, скорее всего. И через preg_match(); я думаю.
З.ы. Пустой див- невалидно. Микроразметка- тоже невалидна пока вроде. Так что, если борешься за кошерность сайта- диву давай класс, ид или хотя бы стайл.
 
Web
Polarfox
пруф что пустой тег невалиден, пруф что микроразметка невалидна или небыло.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
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 перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
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.023 секунд, используя 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.018 секунд, используя 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.020 секунд, используя GeSHi 1.0.8.10


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

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

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Как правильно обмениваться статьями?  →  СЕО 5 / 2490 08.11.2024 15:01
Как работают ранги на форуме?  →  Установка и настройка системы 6 / 2040 08.08.2024 06:14
Переход контента на "Материал"  →  Пожелания и предложения 2 / 1334 03.07.2024 03:29
7950X3D до 5.7 ГГц по ценам обычных серверов во всём мире. Автоустановка 60с  →  Хостинг 0 / 4647 28.12.2023 20:33
в PHP 7.4 нельзя вставлять пустое значение в `id` как раньше  →  Пожелания и предложения 4 / 12158 19.12.2023 03:32
нужны ли на сайте "Закладки" и "История посещений", как в браузере?  →  Пожелания и предложения 4 / 3396 11.08.2023 15:56
Как сделать микроразметку на сайте?  →  PHP 1 / 4320 22.07.2021 06:39
Как вебмастеру сформулировали УТП для создания сайтов на PHP-Fusion?  →  Пожелания и предложения 1 / 10889 25.07.2020 03:46
SEO-оптимизация. дубли страниц в PHP-Fusion - где искать и как избавиться?  →  Ошибки, баги 0 / 7755 19.06.2020 17:06
Как вывести все данные из таблицы, за исключением администраторов  →  Плагины 3 / 15249 24.02.2020 15:59
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)