如何将HTTP字符串转换为URL,同时还允许纺织风格的格式而不会发生冲突?

时间:2012-12-20 22:12:08

标签: regex textile text-to-html

我正在创建一个与Textile非常类似的文本到标记过程的最小版本。我成功转换粗体,斜体,删除线(分别带*,_和 - ),但我也使用以下表达式自动将HTTP字符串转换为链接:

/([^\(])(https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.\-]*(\?\S+)?)?)?)/

问题是,如果HTTP字符串包含例如破折号,则还会处理删除线(/\-([^\*]+?)\-/)的表达式,从而导致URL链接发生变化:

site.com/path-with-dashessite.com/path<del>with</del>dashes

同时实现这两个流程的最佳解决方案是什么?我假设改变删除线表达式要求破折号之前的字符是空格字符,或者行的开头可以工作,但我无法在一个表达式中实现这一点。

0 个答案:

没有答案