【发布时间】:2011-06-01 21:26:09
【问题描述】:
我正在尝试在 PHP 中创建一个 Wordpress 简码样式的功能,以用图像替换像“[[133]]”这样的简码。基本上,我有一个 ID 为 1-150 的图像 URL/标题/字幕的 MySQL 表,我希望能够使用如下短代码将它们动态插入到我的页面文本中:
布拉布拉布拉布拉布拉布拉。 [[5]] 还有,bla bla bla bla [[27]] 嘿,布拉布拉布拉! [[129]]
所以,我只想获取 ID 作为 $id,然后将其提供给 MySQL 查询,例如 mysql_query("SELECT title,subtitle,url FROM images WHERE id = $id") 然后用 img/title/subtitle 替换“[[id]]”。我希望能够在同一页面上多次执行此操作。
我知道这必须涉及正则表达式和 preg_match、preg_replace、strstr、strpos、substr 的某种组合...但我不知道从哪里开始以及我应该使用哪些函数来做哪些事情。你能推荐一个策略吗?我不需要代码本身——只知道哪些部分使用什么会非常有帮助。
【问题讨论】:
-
注意 - 这不适用于 Wordpress 网站,所以我不能使用现有的 WP 短代码功能。
-
也许这也涉及preg_replace_callback?
-
我冒昧地猜测一下,您可能很容易从 WordPress 中提取相关代码。或者,您可以按照 Kyle 的建议进行操作,并使用多种方法中的一种来创建您自己的解决方案。
-
使用执行 MySQL 查询的函数 getimage($id),这 几乎 可以满足我的所有需求:[空间不足——请参阅答案]