0

私はそれが少し長いことを知っています。私は締め切りに間に合うように努力しています。誰かが私を助けてくれれば、喜んで感謝します。私の別の友人のプログラマーがこの PHP スクリプトを作成しましたが、残念ながら既に廃止されており、動作しません。誰でもこれを preg に変換できますか? 私はエレギ、プレグ、リジェックスなどについて何も知りません。

    function tolink($text){

    $text = " ".$text;

    $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)',

    '<a href="\\1" target="_blank" rel="nofollow">\\1</a>', $text);

    $text = eregi_replace('(((f|ht){1}tps://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)',

    '<a href="\\1" target="_blank" rel="nofollow">\\1</a>', $text);

    $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)',

    '\\1<a href="http://\\2" target="_blank" rel="nofollow">\\2</a>', $text);

    $text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4})',

    '<a href="mailto:\\1"  rel="nofollow">\\1</a>', $text);

    return $text;

    }
4

1 に答える 1

0

こんなんじゃないかな

  function tolink($text){
 $text = " ".$text;
 $text = preg_replace("/(((f|ht){1}tp:\/\/)[-a-zA-Z0-9@:%_\+.~#?&\/\/=]+)/","<a href=\"$1\" target=\"_blank\" rel=\"nofollow\">$1</a>", $text);
$text = preg_replace("/(((f|ht){1}tps:\/\/)[-a-zA-Z0-9@:%_\+.~#?&\/\/=]+)/","<a href=\"$1\" target=\"_blank\" rel=\"nofollow\">$1</a>", $text);
 $text = preg_replace("/([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&\/\/=]+)/",
                      "$1<a href=\"http://$2\" target=\"_blank\" rel=\"nofollow\">$2</a>", $text);

 $text = preg_replace('/([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4})/',
                      "<a href=\"mailto:$1\"  rel=\"nofollow\">$1</a>", $text);
 return $text;

}

preg_replace パターンの最後に追加iして、小文字と大文字が一致するようにすることもできます

これが私の言いたいことです

 preg_replace('/(((f|ht){1}tp:\/\/)[-a-zA-Z0-9@:%_\+.~#?&\/\/=]+)/i' .....
于 2012-02-19T00:38:13.297 に答える