如何使用php链接字符串中的URL?
我有以下字符串,其模式如下所示:如何使用php链接字符串中的URL?,php,regex,yii,Php,Regex,Yii,我有以下字符串,其模式如下所示: 1)click on http://www.google.com 2) click onhttp://www.google.com". 3) click on www.google.com 4) click onwww.google.com 5) click on www.google.com#xyz 6) click onwww.google.com#xyz 我需要使用正则表达式将所有这些字符串转换为以下格式: click on <a hre
1)click on http://www.google.com
2) click onhttp://www.google.com".
3) click on www.google.com
4) click onwww.google.com
5) click on www.google.com#xyz
6) click onwww.google.com#xyz
我需要使用正则表达式将所有这些字符串转换为以下格式:
click on <a href="http://www.google.com" target="_blank">http://www.google.com</a>
click onhttp://www.google.com
click on <a href="http://www.google.com" target="_blank">www.google.com</a>
click onwww.google.com
click on <a href="http://www.google.com#xyz" target="_blank">www.google.com#xyz</a>
click onwww.google.com
点击
点击onhttp://www.google.com
点击
点击www.google.com
点击
点击www.google.com
您可以有如下内容:
<?php
function addhttp($url) {
if (false === strpos($url, '://')) {
$url = 'http://' . $url;
}
return $url;
}
$url = "www.google.com";
var_dump(addhttp($url));
?>
然后,对于要输出“http://”的URL,只需将其传递给函数即可
输出:您可以使用以下内容:
/\s((http(s)?\:\/\/[a-zA-Z0-9\-\.]+\.)(com|org|net|mil|edu|))/i
$str = preg_replace(
'/\s((http(s)?\:\/\/[a-zA-Z0-9\-\.]+\.)(com|org|net|mil|edu))/i',
' <a href="${1}" target="_blank">${1}</a>',
$s);
取代
<a href="$2">$2<a/>
这将使您的PHP类似于
/\s((http(s)?\:\/\/[a-zA-Z0-9\-\.]+\.)(com|org|net|mil|edu|))/i
$str = preg_replace(
'/\s((http(s)?\:\/\/[a-zA-Z0-9\-\.]+\.)(com|org|net|mil|edu))/i',
' <a href="${1}" target="_blank">${1}</a>',
$s);
$str=preg\u replace(
“/\s((http(s)\:\/\/[a-zA-Z0-9\-\.]+\)(com | org | net | mil | edu))/i”,
' ',
$s);
例如:
(注意:您需要修改它以允许-但是基本设置存在)函数linkify($string){
返回preg_replace(“~\bhttp?”://[^[:space:]+[[:alnum://]\b~”,“”,$string);
}
因此,点击
变成了查看
,URL也可以点击?我还需要第二个的建议。@AbhishekKasera我已经编辑过,包括target=“\u blank”
。有什么我错过了吗?@downvoter-为什么没有解释就投了downvoter?似乎很愚蠢。添加http://
不会自动使链接可点击。哇,我没有再次添加
,愚蠢的原因。没问题,请给我建议解决方案。。。问题现在更新了有很多新的顶级域名…它适用于https,但在url包含www.ie.“onwww.example.com”时不起作用。哦,你已经更新了问题。是的,添加了所有要求,所以请向我建议解决方案。嗯,不清楚你如何决定合法的第三级域名的外观。onwww.somesite.com是一个有效的域名,严格来说不是URL(因为没有架构)。