PHP を使用して文字列から返される文字数を制限しようとしています。
サーバーがクラッシュしそうな解決策(高負荷/無限ループ)を適用したので、代替案を求めています。
文字列を切り取って特定の文字数を表示する解決策を見つけようとしていますが、それでも文の意味を尊重します。つまり、単語の途中で切り取らない
私の関数呼び出しは次のとおりです。
<?php
uc_textcut(get_the_title());
?>
そして、私の functions.php では、これが私が使用したコードです (そしてクラッシュします):
function uc_textcut($var) {
$position = 60;
$result = substr($var,$position,1);
if ($result !=" ") {
while($result !=" ") {
$i = 1;
$position = $position+$i;
$result = substr($var,$position,1);
}
}
$result = substr($var,0,$position);
echo $result;
echo "...";
}
私の問題は$position = 60
.
その数値が高いほど、非常に遅いループを実行するなど、より多くの負荷がかかります。
に何か問題while()
があると思いますが、単語の途中で中断するのではなく、訪問者が理解できるように努めています。
入力はありますか?
:)どうもありがとう