【发布时间】:2013-05-24 00:20:16
【问题描述】:
如果我在 PHP 中有一个字符串在 PHP 中是令人讨厌的长字符串,我想缩短它,然后在其上附加一些内容。
我想将它缩短为前 6 个单词或 42 个字符,无论哪个更短,然后在它被缩短时附加一个“...”。
唯一不会缩短并且不会添加“...”的情况是它最初少于 6 个单词或 42 个字符。
我如何在 PHP 中做到这一点?
从逻辑上讲,我想我会用空格分割字符串,然后在数组中的空格之前添加每个东西,然后只从该数组中取出前 6 个元素并将它们写入一个新字符串。
这是我目前的代码:
str_1 = 'The quick brown fox jumped over the lazy dog';
$words = explode(" ", $str_1);
$counter = 0;
str_2 = '';
foreach($words as $word){
if($counter < 5){
//append $words[counter] to str_2;
counter++;
}
else{
break;
}
}
我不知道如何处理字符计数或比较或追加的其余部分。
有人有什么想法吗?
【问题讨论】:
-
您似乎知道如何进行,到目前为止您有什么代码?什么特定的部分阻碍了你?
-
@Lepidosteus 附加和字符数阻止了我。我用代码更新了问题。
-
为什么不只获取前六个单词并使用 css 作为 ...?
-
@Jack 因为并非所有浏览器都支持 :after。
-
不是所有的都指的是古董浏览器吗? :)