1

重複の可能性:
正規表現 URL の一致

チャットにクリック可能なリンクを提供する関数を作成しようとしています....ここに私が作成した関数があります

<?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]: 不明な修飾子 '!' とにかく、すべてのタイプのリンクをクリック可能にする方法について、どんな助けでもいいでしょう

4

1 に答える 1

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

お役に立てれば

于 2012-11-30T05:02:16.810 に答える