0

substr関数を使用して文字列を出力し、出力を100文字に制限しています。問題は、文字列に100文字を超えるURLが含まれている場合があることです。

テキストリンクを[リンク]のような一般的なものに置き換えることで、100文字の制限内でURLを出力する方法について誰かアドバイスがありますか?

私のコード:

        <?php
            $reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
            if(preg_match($reg_exUrl, $content, $url)) {
                $content = preg_replace($reg_exUrl, "<a href=\"{$url[0]}\" target=\"_blank\">Link</a>", $content);
                if (strlen($content) > 100) {
                    echo substr($content, 0, 100).'...';
                }
            } else {
                if (strlen($content) > 100) { echo substr(stripslashes($content), 0, 100).'...'; } else { echo stripslashes($content); }
            }
        ?>
4

1 に答える 1

0
if(strlen($url[0]) > 100) {
   $content = preg_replace($reg_exUrl, "<a href=\"{$url[0]}\" target=\"_blank\">Link</a>", $content);
}else{
   $content = preg_replace($reg_exUrl, "<a href=\"{$url[0]}\" target=\"_blank\">{$url[0]}</a>", $content);
}
于 2013-01-27T11:41:32.460 に答える