可能重复:
Regex URL Match
我正在尝试创建可以提供聊天可点击链接的功能....这里是我创建的功能
<?php
//makes links starting with http clickable
function makehttpclickable($text){
return preg_replace('!(((f|ht)tp://)[-a-zA-Z?-??-?()0-9@:%_+.~#?&;//=]+)!i', '<a href="$1">$1</a>', $text);
}
//makes links starting www. http clickable
function clickywww($www){
return preg_replace('!((www)[-a-zA-Z?-??-?()0-9@:%_+.~#?&;//=]+)!i', '<a href="$1">$1</a>', $www);
}
/function that gives me an error!
function clickydotcom($noob){
return preg_replace('!([-a-zA-Z?-??-?()0-9@:%_+.~#?&;//=]+)(\.com)!i'.'!([-a-zA-Z?-??-?()0-9@:%_+.~#?&;//=]+)(\.com)!f', '<a href="$1.com$f">$1.com</a>', $noob);
}
我收到了一个未知的修饰符错误。 警告:preg_replace()[function.preg-replace]:未知的修饰符&#39;!&#39; 所以无论如何,任何帮助都会很好,我可以如何使所有类型的链接可点击
答案 0 :(得分:0)
此代码将执行此操作
<?php
$input= "website is http://www.xyz.com";
$clickable = preg_replace('*(f|ht)tps?://[A-Za-z0-9\./?=\+&%]+*', '<a href="$0">$0</a>', $input);
echo $clickable;
?>
我已根据您的功能中的上述解决方案进行了一些修改。此代码将使ftp,http等链接可点击
<?php
function makehttpclickable($input){
return preg_replace('*(f|ht)tps?://[A-Za-z0-9\./?=\+&%]+*', '<a href="$0">$0</a>', $input);
}
?>
希望这有帮助