从php中的评论中点击链接

时间:2012-11-30 04:34:54

标签: php hyperlink chat anchor

  

可能重复:
  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; 所以无论如何,任何帮助都会很好,我可以如何使所有类型的链接可点击

1 个答案:

答案 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);
 }
 ?> 

希望这有帮助