使用正则表达式从字符串中提取某些文本

发布于 2024-12-05 15:34:32 字数 707 浏览 0 评论 0原文

我尝试从字符串中提取编码字符串,例如,

$string = 'Louise Bourgeois and Tracey Emin: Do Not Abandon Me [date]Until 31 August 2011[ /date ]';

$description = preg_replace('/\[(?: |\s)*([date]+)(?: |\s)*\](.*?)\[(?: |\s)*([\/date]+)(?: |\s)*\]/is', '',$string);

$date = preg_replace('/\[(?: |\s)*([date]+)(?: |\s)*\](.*?)\[(?: |\s)*([\/date]+)(?: |\s)*\]/is', '$3',$string);

echo $date;

结果:

Louise Bourgeois and Tracey Emin: Do Not Abandon Me /date

预期结果:

Until 31 August 2011

我得到了 $description 正确,但无法得到 [date] 正确。有什么想法吗?

I tried to extract a coded string from a string, for instance,

$string = 'Louise Bourgeois and Tracey Emin: Do Not Abandon Me [date]Until 31 August 2011[ /date ]';

$description = preg_replace('/\[(?: |\s)*([date]+)(?: |\s)*\](.*?)\[(?: |\s)*([\/date]+)(?: |\s)*\]/is', '',$string);

$date = preg_replace('/\[(?: |\s)*([date]+)(?: |\s)*\](.*?)\[(?: |\s)*([\/date]+)(?: |\s)*\]/is', '$3',$string);

echo $date;

result:

Louise Bourgeois and Tracey Emin: Do Not Abandon Me /date

intended result:

Until 31 August 2011

I got the $description right but I can't get the [date] right. Any ideas?

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

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

发布评论

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

评论(2

同展鸳鸯锦 2024-12-12 15:34:32

我认为一个更简单的形式就可以了:

#.*?\[\s*?date\s*?\](.*)\[\s*?/date\s*?\].*#

例如?

I think a rather simpler form would do:

#.*?\[\s*?date\s*?\](.*)\[\s*?/date\s*?\].*#

for instance?

子栖 2024-12-12 15:34:32
([date]+)

这将查找包含 dat 和/或 e< 的一个或多个字母序列/代码>。 [] 是字符类的正则表达式元字符,不会被视为用于匹配目的的文字字符。您可能想要:

(\[date\])   and    (\[\/date\])

正确匹配那些开始/结束“标签”。

([date]+)

This is going to look for one-or-more sequences of letters containing d, a, t, and/or e. [] are regex metacharacters for character classes and will not treated as literal characters for matching purposes. You'd probably want:

(\[date\])   and    (\[\/date\])

to properly match those opening/closing "tags".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文