如果这是一个非常愚蠢的问题,或者是一个明显的新手错误,我很抱歉 - 但我就像这样基本,我之前几乎从未使用过 do - while 循环(我知道 - 我自己无法理解!这怎么可能这些年来我设法避免了它??)
所以:我想从文本段落的开头选择一些单词。我使用了以下代码:
$no_of_char = 70;
$string = $content;
$string = strip_tags(stripslashes($string)); // convert to plaintext
$string = substr($string, 0, strpos(wordwrap($string, $no_of_char), "\n"));
哪种有效,但问题是有时它会给出 EMPTY 结果。我认为这是因为该段落包含空格、空行和/或回车...所以我正在尝试创建一个循环条件,该条件将继续尝试直到字符串的长度至少为 X 个字符..
$no_of_char = 70; // approximation - how many characters we want
$string = $content;
do {
$string = strip_tags(stripslashes($string)); // plaintext
$string = substr($string, 0, strpos(wordwrap($string, $no_of_char), "\n")); // do not crop words
}
while (strlen($string) > 8); // this would be X - and I am guessing here is my problem
好吧 - 显然它不起作用(否则这个问题不会) - 现在它总是什么都不产生。(空字符串)