我试图限制使用PHP从字符串返回的字符数。
我已经应用了一个看起来会使服务器崩溃的解决方案(高负载/无限循环),所以我在寻求替代方案。
我试图找到一种解决方案,它可以剪切字符串并显示特定数量的字符,但仍然尊重句子的含义,即它不会在单词中间进行剪切。
我的函数调用如下:
uc_textcut(get_the_title());
?>
在my 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()
不过,我还是尽量让来访者仍能理解,而不是插话。
任何输入?
:)非常感谢各位