1

我在自定义 CMS 上使用 PHP 创建简码时遇到了一个小问题。我在教程的帮助下在 Wordpress 中创建了简码,但我找不到关于如何创建可在 Wordpress 之外使用的简码的教程。基本上,我正在使用一个插件,当单击它时,它可以使图像在花式框中以全角显示。以下是生成图像并使其在单击时能够在幻想框中打开的代码:

<a class="fancybox" title="2009 Four Winns 318 Vista Tour" rel="gallery1" href="../../../../images/sampleboat/sam_0250.jpg"><img src="/wwwroot/userfiles/images/sam_0250.jpg" alt="" width="200" height="200" /></a>

我想要做的是我想创建一个短代码,我可以在其中放置图像的链接;像这样的东西:

[专辑 src="../../../../images/sampleboat/sam_0250.jpg"]

并且与此简码对应的函数会将存在于简码的 src="" 标记内的链接插入到此代码的 href="" 和 src="" 标记:

<a class="fancybox" title="2009 Four Winns 318 Vista Tour" rel="gallery1" href="LINK FROM THE SHORTCODE"><img src="LINK FROM THE SHORTCODE" alt="" width="200" height="200" /></a>

所以我想要实现的功能是我希望能够在文本编辑器中输入这个短代码:

[专辑 src="../../../../images/sampleboat/sam_0250.jpg"]

我想在首页上显示的代码,对应于页面内添加的简码,是这样的:

<a class="fancybox" title="2009 Four Winns 318 Vista Tour" rel="gallery1" href="LINK FROM THE SHORTCODE"><img src="LINK FROM THE SHORTCODE" alt="" width="200" height="200" /></a>

请让我知道是否有任何解决方案可以实现上述功能。谢谢你。

4

1 回答 1

0

您正在寻找的花哨术语是正则表达式。这些可用于检查字符串中的模式,也可用于用其​​他字符串替换(部分)字符串。

对于你的例子,这样的事情会起作用:

$result =  preg_replace("/\[(.+)\]/", '<a class="fancybox" title="2009 Four Winns 318 Vista Tour" rel="gallery1" href="$1"><img src="$1" alt="" width="200" height="200" /></a>', $input);
echo $result;

在这种情况下,“[something]”将替换为您在上面指定的 html 代码。$1 将复制在正则表达式的第一对 () 括号之间找到的部分,因此在我的示例中,带有:“某物”。

阅读更多关于 preg_replace

我建议阅读正则表达式,因为很有可能使用它们。然而,它们有时可能会非常令人困惑,因为它们有自己的精简语法。

于 2013-09-06T07:54:04.867 回答