我在 Angular 13 上使用 Ionic 6,并且我有一个 json 字符串,其中包含带有 html 代码的全文。我需要检查该字符串中的anchor
标签和img
url,并在需要时重写 url 域名。
例如,我想要这个fulltext:string
变量:
fulltext:string =
"<p>This is the intro text</p>
<ul>
<li><a href="downloads/category/886-download-pdf">PDF 1 <img src="images/886-download-pdf.jpg" /></a></li>
<li><a href="downloads/category/887-download-pdf">PDF 2 <img src="images/887-download-pdf.jpg" /></a></li>
<li><a href="https://website.com/downloads/category/888-download-pdf">PDF 3 <img src="https://website.com/images/888-download-pdf.jpg" /></a></li>
</ul>"
成为:
"<p>This is the intro text</p>
<ul>
<li><a href="https://website.com/downloads/category/886-download-pdf">PDF 1 <img src="https://website.com/images/886-download-pdf.jpg" /></a></li>
<li><a href="https://website.com/downloads/category/887-download-pdf">PDF 2 <img src="https://website.com/images/887-download-pdf.jpg" /></a></li>
<li><a href="https://website.com/downloads/category/888-download-pdf">PDF 3 <img src="https://website.com/images/888-download-pdf.jpg" /></a></li>
</ul>"
据我目前了解,我认为我需要执行以下操作:
anchor
扫描所有标签和标签的变量字符串img
。查看这些 url 中是否已经包含域名。
如果没有,请在这些 url 前添加域名前缀。
我尝试在 Typescript 中创建一个函数(或者可能更好地为此创建一个管道),但我无法完成这项工作。我遇到的第一个障碍是,当我尝试使用querySelectorAll
or获取标签时getElementById
,它不适用于字符串。我也尝试HTMLElement
按照这里的一些建议声明它,但我无法继续。
你能帮我看看如何在 Angular Typescript 中做到这一点吗?