首页 > 解决方案 > 从字符串中删除 [imgcaption] 标签

问题描述

例如,这是一个包含 [imgcaption] 标签的字符串。我想知道是否有办法使用正则表达式或某种替换方法来删除此字符串中的所有 [imgcaption] 标签?我只想要剩下的普通话字符。

[imgcaption imgsrc="foo.jpg" imgwidth="800" imgheight="533"]林女。[/imgcaption](香)由黄生、林嘉廖启智等合演的电影《死因无可疑》,将于本月25日上映。林修边幅兼身形人,并有个凸出的腩。

因此,我希望它在正则表达式之后返回这样的字符串:

林女。(香)由黄生、林嘉廖启智等合演的电影《死因无可疑》,将于本月25日上映。林修边幅兼身形人,并有个凸出的腩。

标签: phpregexwordpressstring

解决方案


试试这个正则表达式:\[\/?imgcaption.*?\]

const text = '[imgcaption imgsrc="foo.jpg" imgwidth="800" imgheight="533"]林女。[/imgcaption](香)由黄生、林嘉廖启智等合演的电影《死因无可疑》,将于本月25日上映。林修边幅兼身形人,并有个凸出的腩。';

const regex = /\[\/?imgcaption.*?\]/g;

const result = text.replace(regex, '');

console.log(result);

在 PHP 中:

$text = '[imgcaption imgsrc="foo.jpg" imgwidth="800" imgheight="533"]林女。[/imgcaption](香)由黄生、林嘉廖启智等合演的电影《死因无可疑》,将于本月25日上映。林修边幅兼身形人,并有个凸出的腩。';
$result = preg_replace('/\[\/?imgcaption.*?\]/', '', $text);
echo $result;

推荐阅读