Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php url格式的正则表达式(www.domain.tld到锚)_Php_Regex_Url_Formatting_Href - Fatal编程技术网

Php url格式的正则表达式(www.domain.tld到锚)

Php url格式的正则表达式(www.domain.tld到锚),php,regex,url,formatting,href,Php,Regex,Url,Formatting,Href,我目前正在开发一个基于浏览器的Twitter小部件 目前,我一直在努力让URL正常工作。我是个新手,当谈到正则表达式时,我知道如何获得字符串的一部分,但这一部分很难 所以,我需要一个正则表达式来搜索/替换 www.domain.tld -> <a href="http://www.domain.tld">http://www.domain.tld</a> 最好使用/不使用http:// 欢迎任何建议。谢谢。这就是我所做的: www\.(?:\S*)\.(?:\S{

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

目前,我一直在努力让URL正常工作。我是个新手,当谈到正则表达式时,我知道如何获得字符串的一部分,但这一部分很难

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

www.domain.tld -> <a href="http://www.domain.tld">http://www.domain.tld</a>
最好使用/不使用http://


欢迎任何建议。谢谢。

这就是我所做的:

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

它检查www。开始时,任何非witespace字符和顶级域2或3个字符。

我正在与regex进行一场持久战,我不喜欢它们。那么,我会这样做吗

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

我相信这正是您想要的:

有关提取URL的更多信息:

请尝试。它是从官方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;

.信息。莫比。博物馆实际上,我甚至可以只检查非空白字符,因为大多数URL也有参数?param=value&etc=1。当然,在开始的时候,我需要清理输入,以防XSS。对不起,我需要相反的东西。我必须将纯文本URL转换为html锚定。@Kristaps:你的问题有点不清楚,这涉及到什么;谢谢你,我想出了?:http:\/\/\;https:\/\/\:?:[a-z0-9\&\?=\-\-\[]\/]*这似乎行得通。非常感谢。