1

我在这里有点超出我的深度,但我试图让用户编写链接,这与 StackOverflow 格式化链接的方式完全不同。

理想情况下,当用户输入[text to link here][23]文本区域时,他们最终会得到<a href="path/to/img/id/23">text to link here</a>该信息从数据库写入页面的时间。

我失败的部分是如何从匹配的模式中提取text to link和提取23

这是我正在使用的模式,但是preg_replace使用它只会让我替换整个字符串,而不是对其进行操作。我可能在使用 preg_replace 时弄错了。

4

2 回答 2

2

您可以使用 进行操作preg_replace_callback,但即使这样也是不必要的:

preg_replace('/\[(.+?)\]\[(\d+)?\]/', '<a href="path/to/img/id/\2">\1</a>', $st);
于 2013-02-13T16:20:19.497 回答
0

这似乎是您正在寻找的技巧: ([[a-zA-Z0-9- ]+])([[0-9]+]) 括号 ( 和 ) 用于分组...

于 2013-02-13T16:20:51.397 回答