dongyan5641 2014-08-19 11:17
浏览 32
已采纳

完全停止后接近100个单词的分页符的PHP代码

I have a test area which is dynamic text from database may be of thousands of words. I want it to break and make a paragraph of each with full stop near 100(any length) words. I am able to make break after 100 words but not with full stop. To make break after 100(any length) words I used the following function.

function TrimString($String, $Length)
{
    if(strlen($String) > $Length)
    {
        $Temp[0] = substr($String, 0, $Length);
        $Temp[1] = substr($String, $Length);
        $SpacePos = strpos($Temp[1], ' ');
        if($SpacePos !== FALSE)
        {
            return $Temp[0].substr($Temp[1], 0, $SpacePos);
        }
    }
    return $String;
}

example:-

function TrimString($String, $Length){
    if(strlen($String)<=$Length){
        $stringValue=$String;
    } else {
        $stringValue=substr($String,0,$Length) . '.';
    }
    return $stringValue;
}
$m=50;
$a="I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. ";
$data=TrimString($a,$m);
echo $data;

It provides me the answer

I am a boy. I am a boy. I am a boy. I am a boy. I .

but i need the answer

I am a boy. I am a boy. I am a boy. I am a boy.

So can you help me to find the full stop near to the length provided to that function and to break the paragraph.

  • 写回答

2条回答 默认 最新

  • duanhuoyao7011 2014-08-19 11:18
    关注

    add full stop(.) here like

     return $Temp[0].substr($Temp[1], 0, $SpacePos).".";
    

    UPDATE 2 :

    <?php
    function TrimString($String, $Length){
        if(strlen($String)<=$Length){
            $stringValue=$String;
        } else {
            $new_l = strpos ($String , ".", $Length);
            $Length = $new_l+1;
            $stringValue=substr($String,0,$Length);
        }
        return $stringValue;
    }
    $m=50;
    $a="I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. I am a boy. ";
    $data=TrimString($a,$m);
    echo $data;
    ?>
    

    OUTPUT :

    I am a boy. I am a boy. I am a boy. I am a boy. I am a boy.
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)