【发布时间】:2012-08-31 17:24:30
【问题描述】:
我需要使用正则表达式来搜索字符串并修复某些 url。我需要从这样的链接中删除开头/:
/admin.somedomain.com 或 /somedomain.com
还有很多其他的绝对网址,所以我不能只去掉任何前导 / 字符。 任何帮助将不胜感激。
这是处理用户输入的文本,通常是来自 TinyMCE 的 html,但有时来自带有和不带有其他 HTML 的纯文本框(或者我会以不同的方式处理它并直接处理链接,而不必先搜索字符串)。不幸的是,有时为 href 或 img src 等输入错误的网址。
我确实想要这样的链接 “/图像.jpg” "/webapp/getfile?id=3354"
但不是像这样的链接 “/somedomain.com” “/admin.somedomain.com”
这是我可能需要清理的文本示例
<p><a href="/webapp/GetFile?id={2C59BC2D}"><img src="/wahelper/GetImage?id=308" alt="" width="100" height="100" /></a></p> <p><a href="/admin.somedomain.com">test</a></p>
【问题讨论】:
-
除非有其他方法。我愿意接受建议。
-
正则表达式可能部分是您的解决方案,但总的来说,我认为正则表达式不会成为您的全部。除非你能想出一些非常复杂的东西。我可能会采用对我存储的所有 url 进行比较的方法。也许将它们拆分为
:并获取第一个块并查看是否有多个/如果有,请不要理会它,然后如果该字符是/ -
如果没有
:,那么我会看看开头的字符是什么,看看里面有//还是/ -
那么您是如何获得这些链接的?从数据库?我们能看到那个代码吗?
-
请使用增强功能编辑您的原始问题,而不是在 cmets 中添加详细信息 - 这样更容易理解您的问题。我想查看您正在处理的 URL 列表,这样我就可以看到正则表达式应该匹配什么以及不应该匹配什么。谢谢。