【发布时间】:2014-09-19 20:02:28
【问题描述】:
下面的这个脚本可以工作,但是如果我在最后一行输入更长的单词,它会被扩展到额外的行并且脚本会接受吗?如何确保以任何可能的方式只接受 7 行?
$lines = array_slice(explode("\n", trim( $_POST['description'])), 0, 7); // max 7 lines
foreach ($lines as $key => $value)
{
$lines[$key] = substr(trim($value), 0, 200); // max 200 chars
}
$insert['teams_descr'] = implode("\n", $lines);
$this->db->update( 'teams', $insert, array( 'teams_id' => $this->user->leader_team_id() ) );
【问题讨论】:
-
You posted this already - 另外我引用你的另一个问题 - “实际上它确实有效,但是如果我输入更大的句子,比如一个单词......” - 如果你想限制文本,使用
strlen()而不是trim()。这应该作为完全相同的副本关闭。 -
如果一个单词使句子换行,它并不是真正的换行。
-
即使你在最后写了一个长字,它可能看起来你在下一行,但从逻辑上讲,它不是每一行使用 enter (\n) 分隔的。
-
是的,逻辑上不是,但我正在寻找一种方法来切断它,并通过写更大的单词或故意这样做来避免这个新行。有什么办法吗?
标签: php codeigniter textarea