我有点超出我的深度,但我试图让用户编写链接,与StackOverflow格式化链接的方式完全不同。
理想情况下,当用户在文本区域中输入[text to link here][23]
时,当该信息从数据库写入页面时,他们将以<a href="path/to/img/id/23">text to link here</a>
结束。
我失败的部分是如何从匹配模式中提取text to link
和23
这是pattern I'm using,但使用此preg_replace
只允许我替换整个字符串,而不是对其进行操作。我在使用preg_replace时可能会弄错。
答案 0 :(得分:2)
您可以使用preg_replace_callback
进行操作,但即使这样也是不必要的:
preg_replace('/\[(.+?)\]\[(\d+)?\]/', '<a href="path/to/img/id/\2">\1</a>', $st);
答案 1 :(得分:0)
这似乎是你正在寻找的技巧:([[a-zA-Z0-9-] +])([[0-9] +]) 括号(和)用于分组......