限制文字的正确方法? PHP

时间:2016-02-24 11:24:09

标签: php

有一种方法可以使用substr来计算空白区域吗?

$testo = $news['testo'];

$testo = strip_tags($testo);

echo "<p>".substr($testo,0,200)."</p>";

我做了几次测试,我发现substr不计算空格。我怎么能告诉他数数?

这是一个问题,因为它每次为文章提供不同数量的字符。

3 个答案:

答案 0 :(得分:1)

尝试以下代码。

$testo = $news['testo'];
$testo = strip_tags($testo);
$count_var = preg_replace('[^\s]', '', $testo);
$count = strlen($count_var);

答案 1 :(得分:1)

你不需要任何正则表达式(如Ruchish的回答所示)
只需使用substr_count

即可
@Override

修改

当然,如果您希望将空格计入子字符串,您可以随时执行类似

的操作
$fooString = "Hello world string!";
$count = substr_count($fooString, " ");
echo $count; // --> 2

其中

substr_count(substr($fooString,$start,$length), " "); 是子集的起始位置 $start是您的substr

的长度

答案 2 :(得分:0)

if(strlen($testo)>=200)
{
//limit text
    $testo =substr($testo,0,200);

//get last space character
    $space=strrpos($testo, ' ');

// finished
    $testo =substr($testo ,0,$space)." ...";

}

echo $testo;