繁体   English   中英

如何从bbcode中提取完整图像?

[英]How to extract full images from bbcode?

我有这样的BBCode。

[IMG]art_74e7e4f8811380426577.jpeg[/IMG] [IMG]art_74e7e4f8811380426595.jpeg[TITLE]title is always needy[/TITLE][/IMG]

我需要提取两个图像。 所以我的preg_match_all是:

preg_match_all('/\[IMG\][^(\[\/IMG\])]+/', $body, $matches);

这给了我这个:

[0] => [IMG]art_74e7e4f8811380426577.jpeg

[1] => [IMG]art_74e7e4f8811380426595.jpeg

我需要将标题标记包含在第二次出现中。 真的卡住了......

使用它来获取图像标记:

preg_match_all('~\[img\].*?\[/img\]~i', $body, $matches);

regex101演示

i修饰符用于不区分大小写的匹配。

如果您不想获取图像标记,请使用以下内容:

preg_match_all('~(?<=\[img\]).*?(?=\[/img\])~i', $body, $matches);

顺便说一句: [^(\\[\\/IMG\\])]+将匹配除([/IMG])之外的任何字符

regex101演示

(?<=\\[img\\])是一个积极的外观,并确保你的比赛前有[img]

(?=\\[/img\\])是一个积极的前瞻,确保你的匹配后有[/img] 这些不计为匹配,因此它们不会在您的捕获组中返回。

你可以试试:

preg_match_all('~\[IMG\].*?\[/IMG\]+~i', $body, $matches);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM