如何解决Swift - 如何使用正则表达式查找一个 URL 并将其替换为另一个
我对 Regex 很陌生,但我认识到它的强大。
我在 UITextView 中成功渲染了通过 api 下载的 HTML。但是,我注意到有些图像没有显示。在挖掘代码时,我注意到未出现的图像有多个表示不同大小的图像 URL。
我想要做的是找到包裹在每个块中的第一个图像 URL 并用它替换其他 URL,以便每个块中的所有图像 URL 都相同。
我想出了一些可怕的“解决方案”,使用了一种正则表达式,但没有用。
是否可以:
以下是 JSON 调用返回的 HTML 示例:
<head><Meta charset="UTF-8"><Meta name="viewport" content="width=device-width,initial-scale=1.0"><title>Document</title></head><body><span style='font-family:-apple-system;font-size:17'>
<h2 style=font-weight:800;color:0282F8>Header</h2>
<p style=font-weight:300>Praesent sed molestie lectus,sit amet dictum eros. Donec varius,orci sit amet aliquet ultricies,odio elit maximus sem,et finibus nulla risus vitae sapien. Duis eu nulla et purus porttitor soDales. Nunc eget nisl id tellus elementum placerat. Proin tincidunt mi sollicitudin ex egestas dictum</p>
<h2 style=font-weight:800;color:0282F8>Header</h2>
<figure data-align="right" data-img-src="https://uploads/original/image-01.jpg" data-ref-id="1300-2086678" data-size="small" data-ratio="1.2257525083612" data-width="598" data-embed-type="image" style="width: 598px">
<a class="fluid-height" style="padding-bottom:122.6%" href="https://uploads/original/image-01.jpg" data-ref-id="1300-2086678">
<img alt="Praesent sed molestie lectus,sit amet dictum eros." src="https://uploads/scale_small/image-01.jpg" srcset="https://uploads/original/image-01.jpg 598w,https://uploads/scale_small/image-01.jpg.jpg 522w" sizes="(max-width: 522px) 100vw,522px" data-width="522"></a>
<figcaption style=font-weight:500;font-size:13;color:666666>Pic 1 Caption</figcaption>
</figure>
<br>
<p style=font-weight:300>Praesent sed molestie lectus,et finibus nulla risus vitae sapien. Duis eu nulla et purus porttitor soDales. Nunc eget nisl id tellus elementum placerat. Proin tincidunt mi sollicitudin ex egestas dictum</p>
<h2 style=font-weight:800;color:0282F8>Header</h2>
<p style=font-weight:300>Praesent sed molestie lectus,et finibus nulla risus vitae sapien. Duis eu nulla et purus porttitor soDales. Nunc eget nisl id tellus elementum placerat. Proin tincidunt mi sollicitudin ex egestas dictum</p>
<figure data-align="right" data-img-src="https://uploads/original/image-02.jpg" data-ref-id="1300-627596" data-size="medium" data-ratio="1.2996254681648" data-width="267" data-embed-type="image" style="width: 267px">
<a class="fluid-height" style="padding-bottom:130.0%" href="https://uploads/original/image-02.jpg" data-ref-id="1300-627596">
<img alt="Praesent sed molestie lectus,sit amet dictum eros." src="https://uploads/original/image-02.jpg" srcset="https://uploads/original/image-02.jpg 267w" sizes="(max-width: 267px) 100vw,267px" data-width="267"></a>
<figcaption style=font-weight:500;font-size:13;color:666666>Pic 2 Caption</figcaption>
</figure>
<br>
<p style=font-weight:300>Praesent sed molestie lectus,et finibus nulla risus vitae sapien. Duis eu nulla et purus porttitor soDales. Nunc eget nisl id tellus elementum placerat. Proin tincidunt mi sollicitudin ex egestas dictum</p>
<p style=font-weight:300><b>Praesent sed molestie lectus,</b></p>
<figure data-align="right" data-img-src="https://uploads/original/image-03.jpg" data-ref-id="1300-2787249" data-size="small" data-ratio="0.42196531791908" data-width="346" data-embed-type="image" style="width: 346px">
<a class="fluid-height" style="padding-bottom:42.2%" href="https://uploads/original/image-03.jpg" data-ref-id="1300-2787249">
<img alt="Praesent sed molestie lectus,sit amet dictum eros." src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" sizes="(max-width: 320px) 100vw,320px" data-width="320" class="js-lazy-load-image" data-src="https://uploads/small_scale/image-03.jpg" data-srcset="https://uploads/original/image-03.jpg 346w,https://uploads/small_scale/image-03.jpg 320w">
<noscript>
<img alt="Praesent sed molestie lectus,sit amet dictum eros." src="https://uploads/small_scale/image-03.jpg" srcset="https://uploads/original/image-03.jpg 346w,https://uploads/small_scale/image-03.jpg 320w" sizes="(max-width: 320px) 100vw,320px" data-width="320">
</noscript>
</a>
<figcaption style=font-weight:500;font-size:13;color:666666>Pic 3 Caption</figcaption>
</figure>
<br>
<p style=font-weight:300>Praesent sed molestie lectus,et finibus nulla risus vitae sapien. Duis eu nulla et purus porttitor soDales. Nunc eget nisl id tellus elementum placerat.</p>
<h3 style=font-weight:600>Sub Header</h3>
<p style=font-weight:300>Praesent sed molestie lectus,et finibus nulla risus vitae sapien. Duis eu nulla et purus porttitor soDales. Nunc eget nisl id tellus elementum placerat. Proin tincidunt mi sollicitudin ex egestas dictum</p>
</span></body>
感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。