虽然我可以找到很多关于正则表达式的教程,但它仍然超出我的掌握。我想要创建的正则表达式很简单(根据我在一些示例中看到的内容来判断),但我根本想不通。
我想做一个简单的替换,如下所示:
- 我将图像元数据保存在 MySQL 表中,其中包含以下字段:id、name、title 和 alt。
- 在我的内容中,我想写
[[IMAGE:1:right]]content here[[image:2:left]].
- 我想获取 ID(数字)和浮点数(左或右)的匹配项,并将整个字符串替换为向左或向右浮动的图像,由数据库表中的 ID 检索。
这是我的尝试:
preg_match("/^\[\[image:(\d+):(left|right)\]\]+/i", "[[IMAGE:1:right]]content here[[image:2:left]]", $matches);
这给了我以下回报:
Array ( [0] => [[IMAGE:1:right]] [1] => 1 [2] => right )
所以,它找到了一个,但我希望它找到所有这些,因为我可能在帖子中有多个图像。据我所知,+ 应该匹配所有条目,而 i 应该不区分大小写。似乎不区分大小写的方式有效,但我只得到一个回报。
有人可以让我知道我做错了什么吗?