【发布时间】:2023-01-10 15:47:48
【问题描述】:
我有一个包含文本和一些链接的字符串。我想删除所有没有绝对链接但保留其文本的链接。
我想用正则表达式而不是加载 dom 来做。
那可能吗?
我试过这个正则表达式
preg_replace('#href=["\']([^/][^\':"]*)["\']#', $root_path.'$1', $html);
但这只会用空字符串替换 href。
我想完全删除锚标记并仅保留其文本。
【问题讨论】:
-
因此,例如,如果 HTML 是
Hello <a href="https://www.example.com">world!</a>,输出应该是Hello world!? -
不, href 在这种情况下是绝对的,所以它应该保持原样。如果 href 是相对 URL 那么是的,它应该从世界中删除链接!。