如何实现列检查这个php服务器端检查textarea行限制?

时间:2014-09-19 22:50:55

标签: php textarea

我已经获得了我的javascript客户端代码来检查它,但是如果它失败了,我将需要添加选项来检查这个php服务器端脚本的每行的行数和列数。我将非常感谢任何帮助,并感谢您抽出时间来检查我的问题,并可能回答。

    $lines = array_slice(explode("\n", trim( $_POST['description'])), 0, 6); // max 6 lines

    foreach ($lines as $key => $value)
    {
        $lines[$key] = substr(trim($value), 0, 300); // max 300 chars
    }

    $insert['teams_descr'] = implode("\n", $lines);
        $this->db->update( 'teams', $insert, array( 'teams_id' => $this->user->leader_team_id() ) );

2 个答案:

答案 0 :(得分:0)

foreach ($lines as $key => $value)
{
    $chars_per_line = str_split($value);
    if(count($chars_per_line) > 300){
      // Do something
    } else {
      // Do something  
   }
}

答案 1 :(得分:-1)

如果您正在使用多字节字符,则需要使用mb_strlen来获取长度,并使用mb_substr来提取子字符串:

$lines = array_slice(explode("\n", trim( $_POST['description'])), 0, 6); // max 6 lines

foreach ($lines as $key => $value) {
    $lines[$key] = mb_substr($value, 0, 300);
}

如果您可能正在处理不同的文本编码,请查看文档以便在编码之间进行转换。如果您已经编写了要从中收集数据的表单,请确保设置文本编码并且数据库使用相同的编码。

Full list of multibyte string functions