X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите с регуляркой по картинкам елемента
kvins
kvins
Topic Starter сообщение 1.4.2016, 15:18; Ответить: kvins
Сообщение #1


Мне нужно чтобы если в тексте есть картинки без alt и title , то создать их и вписать свое значение.

например в поле $text есть такой текст

_______
<p><img src="/upload/img/te.jpg" height="240" /></p>

<p>специально предназначенный для использования <img title="тут" alt="есть" src="/upload/img/te.jpg" height="240" /> в навесных и кар </p>

<img src="/upload/img/te.jpg" height="240" />
______

как мне найти все <img> которые не имеют alt и title и вписать свое значение, а если alt и title написаны то его не трогать.

Т.е в этом примере должны изменится 2 из 3 картинок, потому что 1 заполнена alt и title

Сделал через jquery но не уверен стоит ли так делать или не важно как ?

Сообщение отредактировал kvins - 1.4.2016, 14:53


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Элантрис
Элантрис
сообщение 1.4.2016, 15:28; Ответить: Элантрис
Сообщение #2


Не совсем ясен смысл, задайте свой вопрос корректно.

С точки зрения SEO заполненные теги картинок это дополнительный плюс. Важно соблюдать принцип заполнения каждого тега (наличие переспама, теги максимально соответствуют в первую очередь самому изображению, а уже потом содержимому страницы). Более развернутый ответ предоставлю в ЛС, если уточните все.


--------------------
Комплексный аудит и управление проектами. Консультации для новичков в области SEO и коммерции.
Контакты для связи: elantris.g{собачка}gmail.com
Отвечаю в будни c 9:00 по 23:00, в выходные дни недоступен.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Switchback
Switchback
сообщение 8.4.2016, 5:31; Ответить: Switchback
Сообщение #3


Было бы неплохо, если бы поточнее уточнили задачу. Ибо я ничего не понял, как оказалось через пару минут.
На чем написан сайт (язык, движок)? Как вы хотите задавать альт и тайтл картинкам автоматически или вручную?
Ибо я начал писать код, потратил пару минут, а только потом понял, что вы туманно описали задачу.

http://sandbox.onlinephpfunctions.com/code...862cde0fb2ef7b5
Ссылка на онлайн интерпретатор.
Код
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
</head>
<body>
<?php
function setTitle() {return "теперь тоже есть тайтл";}
function setAlt() {return "и тут есть альт";}
$re = "/<\\s*img[^>]*>/"; //регулярка для поиска тегов img и всего их содержимого
$re2 = "/title=\"(?=([^\\\"]*))/"; // регулярка для поиска title
$re3 = "/alt=\"(?=([^\\\"]*))/"; // регулярка для поиска alt
$text = "<p><img src=\"/upload/img/te1.jpg\" height=\"240\" /></p>\n\n<p>специально предназначенный для использования <img title=\"тут\" alt=\"есть\" src=\"/upload/img/te2.jpg\" height=\"240\" /> в навесных и кар </p>\n\n<img src=\"/upload/img/te3.jpg\" height=\"240\" />";
//загоняем в регулярку наш текст
preg_match_all($re, $text, $matches);
$matches = $matches[0];
//перебираем полученный массив с содержимым тегов <img>
foreach ($matches AS $match) {
//если нет одновременно title И alt
  if ( (strpos($match, 'title') == false ) && (strpos($match, 'alt') == false ) ) {
    //добавляем в конец тега случайные title и alt, либо меняем функцию их генерации
    $add_to_text = str_replace('/>', 'title = "'.setTitle().'" alt="'.setAlt().'" />', $match);
    $text = str_replace($match, $add_to_text ,$text);
  }
}
echo "<pre>";
$text = htmlspecialchars($text);
echo $text;
echo "</pre>";
?>
</body>
</html>


--------------------
Успеха достигает тот, кто не оставляет сил на обратный путь.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
webhelper777
webhelper777
сообщение 15.4.2016, 10:40; Ответить: webhelper777
Сообщение #4


полностью автоматизировать подобную задачу не получится (разве что если alt и title везде одинаковый), оптимальным решением будет обычный поиск по проекту или на странице в редакторе с последующей заменой

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 728 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1702 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Помогите кто нибудь получить партнерку Росбанк!
7 heisenberg_mw 2342 7.8.2020, 9:28
автор: heisenberg_mw
Открытая тема (нет новых ответов) Помогите найти тему пожалуйста
7 virtas 12512 24.7.2020, 17:02
автор: -JamesSmips-
Открытая тема (нет новых ответов) Помогите с поиском доноров
3 tehno_music 3356 4.11.2019, 17:15
автор: goblin78


 



RSS Текстовая версия Сейчас: 23.4.2024, 17:40
Дизайн