如何匹配可能具有动态属性文本的方括号标签?

发布于 2024-10-19 20:44:20 字数 775 浏览 1 评论 0原文

我正在尝试替换 [picasa 和 ],但以下代码片段不起作用。

$vars = '[picasa flashvars="host=picasaweb.google.com&hl=en_US&feat=flashalbum&RGB=0x000000&feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F100016363917755589270%2Falbumid%2F5578059546640576577%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" width="288" height="192"]';

$patterns[0] =  "/\[picasa\] /";
$patterns[1] = "/\]/";

$replacements[0] = "<embed type='application/x-shockwave-flash' src='https://picasaweb.google.com/s/c/bin/slideshow.swf'";
$replacements[1] = " pluginspage='http://www.macromedia.com/go/getflashplayer'>";


$match = preg_replace($patterns,$replacements,$vars);
echo $match;

我知道我可以使用 str_replace,但我想使用 preg_replace 代替。

我在这里做错了什么吗?

I am trying to replace [picasa and ], but the following code snippet is not working.

$vars = '[picasa flashvars="host=picasaweb.google.com&hl=en_US&feat=flashalbum&RGB=0x000000&feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2F100016363917755589270%2Falbumid%2F5578059546640576577%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" width="288" height="192"]';

$patterns[0] =  "/\[picasa\] /";
$patterns[1] = "/\]/";

$replacements[0] = "<embed type='application/x-shockwave-flash' src='https://picasaweb.google.com/s/c/bin/slideshow.swf'";
$replacements[1] = " pluginspage='http://www.macromedia.com/go/getflashplayer'>";


$match = preg_replace($patterns,$replacements,$vars);
echo $match;

I know that I can use str_replace, but I would like to use preg_replace instead.

Am I doing some wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自此以后,行同陌路 2024-10-26 20:44:20

$patterns[0] 匹配 [picasa] ,但它不在 $vars 中,

它应该是:

preg_replace('/\[picasa\s*([^\]]+)\]/',$replacements[0].'$1'.$replacements[1],$vars);

$patterns[0] matches [picasa] which isn't in $vars

It should be:

preg_replace('/\[picasa\s*([^\]]+)\]/',$replacements[0].'$1'.$replacements[1],$vars);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文