【发布时间】:2021-12-30 17:29:24
【问题描述】:
我有几百个 html 文件要在网站上显示。 它们都有以下格式的链接:
[My Test URL|https://www.mywebsite.com/test?param=123]
问题是一些 url 被分割成这样:
[My Test URL|https://www.mywebsite.c om/test?param=123]
我想用 HTML 对应部分替换所有这些:
<a href="https://www.mywebsite.com/test?param=123">My Test URL</a>
我知道使用正则表达式 "/[(.*?)]/" 我可以匹配括号,但是如何通过管道拆分、删除 URL 中的空格并将所有内容转换为字符串?
【问题讨论】:
-
如果你想匹配两个部分,那么添加两个捕获组(也转义
[和])然后只是循环输出链接3v4l.org/2Jaid的一个例子 -
感谢您的帮助,它适用于给定的正则表达式。但是我怎样才能将它替换为文本本身呢?我不能只回显链接,但我需要替换所有内容。
-
非常感谢:) 但是我又遇到了无法替换的 URL 中的空格问题。有没有办法解决这个问题?
-
哦,大声笑没有看到空格.. 您可以使用 preg_replace_callback 调用函数在替换 3v4l.org/5PbGD 之前对匹配项执行操作 - 尽管
https://www.mywebsite.c om/test?param=123不是有效的域名,所以应该解决导致它有空格的问题,如果它是硬编码的,你可以在你的编辑器mywebsite.c om->mywebsite.com中找到所有和字符串替换,不需要代码
标签: php regex url square-bracket