用于 URL 格式的正则表达式(www.domain.tld 到锚点)

发布于 2024-09-01 20:46:47 字数 295 浏览 6 评论 0原文

我目前正在开发一个基于浏览器的 Twitter 小部件。

目前,我一直致力于让 URL 正常工作。当谈到正则表达式时,我有点新手(我知道如何获取字符串的一部分,但这一个 - 很难)。

所以,我需要一个正则表达式,最好可以搜索/替换

www.domain.tld -> <a href="http://www.domain.tld">http://www.domain.tld</a>

有/没有http://。

欢迎任何建议。谢谢。

I'm currently developing a little browser-based Twitter widget.

Currently, I'm stuck with getting the URLs to work. I'm kinda newbie, when it comes to regex (I know, how to get parts of a string, but this one – tough one).

So, I need a regex that would search/replace

www.domain.tld -> <a href="http://www.domain.tld">http://www.domain.tld</a>

With/without http://, preferably.

Any advice is welcome. Thanks.

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

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

发布评论

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

评论(4

ま柒月 2024-09-08 20:46:47

这就是我已经走了多远:

www\.(?:\S*)\.(?:\S{2,3})

它检查 www.开头是任何非 witespace 字符和顶级域(2 或 3 个字符)。

This is how far I've got:

www\.(?:\S*)\.(?:\S{2,3})

It checks for www. at beginning, any non-witespace chars and top level domain (2 or three chars).

无可置疑 2024-09-08 20:46:47

我一直在与正则表达式进行斗争,我不喜欢它们。那么,我是否会这样做:

function get_domain_from_anchor($anchor, $delimiter = '"') {
    return substr(strstr(strstr($anchor, $delimiter), $delimiter.'>', true), 8);
}

echo get_domain_from_anchor('<a href="http://www.domain.net">http://www.domain.net</a>');

// OUTPUTS: www.domain.net

更好:D

I'm in an ever going war against RegExes, I don't like them. So, do I'd do it like this instead:

function get_domain_from_anchor($anchor, $delimiter = '"') {
    return substr(strstr(strstr($anchor, $delimiter), $delimiter.'>', true), 8);
}

echo get_domain_from_anchor('<a href="http://www.domain.net">http://www.domain.net</a>');

// OUTPUTS: www.domain.net

Much better :D

画中仙 2024-09-08 20:46:47

我相信这正是您正在寻找的:URL 的 PHP 验证/正则表达式

有关提取 URL 的更多信息:从 PHP 文本中提取 URL

I believe this is exactly what you're looking for: PHP validation/regex for URL

Some more information regarding extraction of URLs: Extract URLs from text in PHP

戏剧牡丹亭 2024-09-08 20:46:47

尝试 twitter-text-php。它是从 Twitter 官方代码移植到 PHP 的。

从自述文件中:

$autolinker = new Twitter_Autolink();
$html = $autolinker->autolink("Tweet mentioning @mikenz and refuring to his list @mikeNZ/sports and website http://mikenz.geek.nz");
echo $html;

Try twitter-text-php. It is ported to PHP from the official Twitter code.

From the README file:

$autolinker = new Twitter_Autolink();
$html = $autolinker->autolink("Tweet mentioning @mikenz and refuring to his list @mikeNZ/sports and website http://mikenz.geek.nz");
echo $html;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文