在 PHP 中删除 HTML 属性

我有一个这样的 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>

我想删除 id、style、class 等。最终代码如下:


<figure>

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

    <figcaption>This is my picture text.</figcaption>

<figure>

有人可以帮我吗?谢谢你。


至尊宝的传说
浏览 188回答 2
2回答

catspeake

这是 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>

临摹微笑

您可以使用以下代码注意:如果您包含 jquery,则仅使用脚本,否则使用下面的 jquery 链接<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>&nbsp; &nbsp; <script>&nbsp; &nbsp; &nbsp; &nbsp; $('figure,figcaption,img').removeAttr("id style class height width sizes&nbsp; &nbsp;srcset aria-describedby");&nbsp; &nbsp; </script>
打开App,查看更多内容
随时随地看视频慕课网APP