0

我计划允许读者以自定义方式创建链接。我认为对于不习惯编写html打开+关闭标签的人来说会更容易。

允许和需要的自定义链接结构

++visible text part==invisible address part++

一个有效的结构化示例:
++stack overflow==http://stackoverflow.com/questions/ask++

我的要求

当然,用户可以输入多个链接。

  1. 所以我必须检查每一个链接尝试。如果所有链接结构都格式化为++visible text part==invisible address part++
  2. 那么我将需要验证和验证不可见的地址部分
  3. 最后,我将从可见文本部分中删除标签(如果有的话)

我的问题

因此,我需要您的帮助preg_match pattern 来验证自定义链接结构。另请注意,我将需要 2 个部分(即:可见文本部分的左侧部分和不可见地址部分的右侧部分分别匹配我的第二个和第三个要求。== ==

我不成功的审判是

/++(.+)==(.+)++/

谢谢,BR

4

2 回答 2

2

尝试

/\+\+(.+?)==(.+?)\+\+/

+是一个正则表达式特殊字符,应该转义。

如果您希望匹配包含换行符,请s在结束分隔符之后添加。/

于 2013-03-27T19:38:57.193 回答
1

您的正则表达式有两个主要问题。首先+是你知道的保留标志(因为你使用它),所以你必须逃避它。

这将把我们带到以下正则表达式:/\+\+(.+)==(.+)\+\+/

如果您使用它,它实际上可能会起作用,但前提是该标记从不使用或使用一次,那是因为 PHP 中的 regex 是greedy。你可以通过使用正确的修饰符来解决这个问题。

这给我们带来了/\+\+(.+)==(.+)\+\+/U不完美但会起作用的地方。然后,您可以对以下方面进行其他改进(.+)

于 2013-03-27T19:36:34.090 回答