Удаление лишних атрибутов HTML-тегов

Content Downloader

Допустим, есть HTML-код

1
2
3
<img src="12" height="14%">
<p style="15" id="333">Text</p>
<H1 id="a">H1</H1>

Где в нем видим различные атрибуты HTML-тегов (src, height и так далее…). Некоторые из этих атрибутов, естественно, нам не нужны и их необходимо удалить.

Для удаления лишних атрибутов HTML-тегов используется макрос шаблона вывода [CLEARTAGSATTRS]

1
2
3
[CLEARTAGSATTRS(img:src,title|a:href)]<img src="12" height="14%">
<p style="15" id="333">Text</p>
<H1 id="a">H1</H1>[/CLEARTAGSATTRS]

В результате работы которого мы получим

1
2
3
<img src="12">
<p>Text</p>
<H1>H1</H1>

Как видим, лишние атрибуты HTML-тегов были удалены из кода. Что и требуется!


Параметрами макроса является строка img:src,title|a:href (которая прописывается в круглых скобках).

Формат строки параметров следующий: имя_тега:атрибут_тега_1,атрибут_тега_2,атрибут_тега_3…|следующее_имя_тега:атрибут_тега_1…

Как видим, сначала прописывается имя HTML-тега (img, p, h1…) затем ставится двоеточие и после него перечисляются атрибуты тега (src, height). Каждые следующие сеты имен и атрибутов тегов прописываются в том же формате через разделитель (символ вертикальной черты).

Примечание: Оператор строки параметров all служит для обозначения сразу всех имен тегов или всех имен атрибутов

1
2
3
img:all (не удалять все атрибуты тегов img)
a:all (не удалять все атрибуты тегов a)
all:src,href,id (не удалять атрибуты src, href и id, которые могут быть расположены в любых тегах)



Макрос [CLEARTAGSATTRS] удаляет атрибуты HTML-тегов в двух режимах:

1) Удаление лишних атрибутов у всех HTML-тегов (стандартный режим)
2) Удаление лишних атрибутов только у перечисленных HTML-тегов (режим {target})

В обоих режимах происходит удаление всех лишних атрибутов HTML-тегов (кроме перечисленных). Отличие режимов состоит в том, что в стандартном режиме (1) происходит чистка всех HTML-тегов, а в режиме {target} (2) – только перечисленных (остальные HTML-теги остаются в неизменном виде)!!!


Допустим, есть задача удалить все атрибуты у всех тегов, кроме атрибутов src и title у тегов img, и кроме атрибутов id у тегов h1

1
2
3
[CLEARTAGSATTRS(img:src,title|h1:id)]<img src="12" height="14%">
<p style="15" id="333">Text</p>
<H1 id="a">H1</H1>[/CLEARTAGSATTRS]

В результате работы которого мы получим

1
2
3
<img src="12">
<p>Text</p>
<H1 id="a">H1</H1>

Как видим, были удалены все атрибуты у всех HTML-тегов (кроме перечисленных в параметрах).


Если нужно удалить лишние атрибуты ТОЛЬКО в перечисленных HTML-тегах, указываем оператор {target} 1 раз в любом месте строки параметров

1
2
3
[CLEARTAGSATTRS({target}img:src,title|h1:id)]<img src="12" height="14%">
<p style="15" id="333">Text</p>
<H1 id="a">H1</H1>[/CLEARTAGSATTRS]

В итоге получим:

1
2
3
<img src="12">
<p style="15" id="333">Text</p>
<H1 id="a">H1</H1>

Как видим, при активном режиме {target}, функция очистки атрибутов обработала только перечисленные в параметрах HTML-теги.


Для применения функций поиск-замены только к перечисленным параметрам HTML-тегов, добавьте [DOREPLACE]правила поиск-замены В КОНЕЦ строки параметров макроса:

1
[CLEARTAGSATTRS(img:src,title|a:href[DOREPLACE]что заменить|на что заменить)]текст[/CLEARTAGSATTRS]



1 Star2 Stars3 Stars4 Stars5 Stars (оценок: 8, средний балл: 5.00)

Loading...
Автор: admin, 14 March 2017
Рубрики: Функции обработки
Tags: , , , , , ,

Последние статьи

css.php