从 BBCode 检索 url,丢弃其他所有内容

发布于 2025-01-04 04:42:10 字数 545 浏览 3 评论 0原文

我希望从 BBCode 块中删除除 Flickr 照片页面 URL 之外的所有内容,使用以下示例:

[url=http://www.flickr.com/photos/vrfan/6821895917/][img]http://farm8.staticflickr.com/7025/6821895917_a372a271a2_z.jpg[/img][/url]
[url=http://www.flickr.com/photos/vrfan/6821895917/]Y159 being sanded at Daylesford[/url] by [url=http://www.flickr.com/people/vrfan/]VRfan[/url], on Flickr

我想要的只是第一个 [url] 标记 ( http://www.flickr.com/photos/vrfan/6821895917/) - 其他所有内容都可以删除。

希望正则表达式向导可以帮助我解决这个问题:)

干杯,

迈克尔。

I'm looking to strip all but the Flickr photo page URL from a block of BBCode, using the following as an example:

[url=http://www.flickr.com/photos/vrfan/6821895917/][img]http://farm8.staticflickr.com/7025/6821895917_a372a271a2_z.jpg[/img][/url]
[url=http://www.flickr.com/photos/vrfan/6821895917/]Y159 being sanded at Daylesford[/url] by [url=http://www.flickr.com/people/vrfan/]VRfan[/url], on Flickr

All I want is the value of the first [url] tag (http://www.flickr.com/photos/vrfan/6821895917/) - everything else can be removed.

Hopefully a regex wizard can help me out on this :)

Cheers,

Michael.

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

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

发布评论

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

评论(1

风铃鹿 2025-01-11 04:42:10

您也可以将 substr()strpos() 结合使用,而不是正则表达式。

$matches = array();
$f = strpos($str, '[url=');
while ($f)
{
    $end = strpos($str, ']', $f);
    $f += 5;
    $matches[] = substr($str, $f, $end - $f);
    $f = strpos($str, '[url=', $end);
}
var_dump($matches);
// Regex Solution
preg_match_all('/\[url=(.+?)\]/i', $str, $matches);
var_dump($matches[1]);

You can use substr() too combined with strpos() instead of Regex.

$matches = array();
$f = strpos($str, '[url=');
while ($f)
{
    $end = strpos($str, ']', $f);
    $f += 5;
    $matches[] = substr($str, $f, $end - $f);
    $f = strpos($str, '[url=', $end);
}
var_dump($matches);
// Regex Solution
preg_match_all('/\[url=(.+?)\]/i', $str, $matches);
var_dump($matches[1]);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文