Удаление HTML атрибута в PHP - PullRequest
1 голос
/ 15 января 2020

У меня есть HTML код, подобный этому:

<figure id="attachment_83" aria-describedby="caption-attachment-83" style="width: 300px" class="wp-caption alignnone">
    <img class="size-medium wp-image-83" src="https://sampleonly.com/wp-content/uploads/2020/01/my-picture-300x169.jpg"
        alt="" width="300" height="169"
        srcset="https://sampleonly.com/wp-content/uploads/2020/01/my-picture-300x169.jpg 300w, https://sampleonly.com/wp-content/uploads/2020/01/my-picture-1024x576.jpg 1024w, https://sampleonly.com/wp-content/uploads/2020/01/my-picture-768x432.jpg 768w, https://sampleonly.com/wp-content/uploads/2020/01/my-picture-1536x864.jpg 1536w, https://sampleonly.com/wp-content/uploads/2020/01/my-picture-1218x685.jpg 1218w, https://sampleonly.com/wp-content/uploads/2020/01/my-picture.jpg 1920w"
        sizes="(max-width: 300px) 100vw, 300px" />
    <figcaption id="caption-attachment-83" class="wp-caption-text">This is my picture text.</figcaption>
<figure>

Я хочу удалить идентификатор, стиль, класс и т. Д. c. Окончательный код вроде этого:

<figure>
    <img src="https://sampleonly.com/wp-content/uploads/2020/01/my-picture.jpg"/>
    <figcaption>This is my picture text.</figcaption>
<figure>

Кто-нибудь здесь может мне помочь? спасибо раньше.

Ответы [ 2 ]

4 голосов
/ 15 января 2020

Вы можете использовать приведенный ниже код. Примечание: Если вы включили jquery, используйте только скрипт, в противном случае используйте ниже jquery ссылка

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

    <script>
        $('figure,figcaption,img').removeAttr("id style class height width sizes   srcset aria-describedby");
    </script>
1 голос
/ 15 января 2020

Вот замена preg, которую вы можете использовать для удаления атрибута, отличного от обязательного.

$html = preg_replace("/(<img\\s)[^>]*(src=\\S+)[^>]*(\\/?>)/i", "$1$2$3", $html);
$html = preg_replace("/(<figure\\s)[^>]*[^>]*(\\/?>)/i", "$1$2$3", $html);
$html = preg_replace("/(<figcaption\\s)[^>]*[^>]*(\\/?>)/i", "$1$2$3", $html);

это даст вам вывод

<figure ><img src="https://sampleonly.com/wp-content/uploads/2020/01/my-picture-300x169.jpg"><figcaption >This is my picture text.</figcaption><figure>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...