gpt4 book ai didi

php - Javascript 和 PHP 的文本区域字符限制

转载 作者:可可西里 更新时间:2023-11-01 12:36:39 24 4
gpt4 key购买 nike

我使用 2 种方法来检查用户是否在文本区域中输入了太多字符:

1)(被动)PHP:

$textarea = $_POST['textarea'];
if (strlen($textarea)>300){$verify="bad";}

2)(主动输入)Javascript:

function ismaxlength(obj)
{
var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
if (obj.getAttribute && obj.value.length>mlength)
obj.value=obj.value.substring(0,mlength)
}

而textarea本身如下(html):

<textarea name="textarea" id="textarea" cols="40" rows="5" style="border: 1px solid #480091; width:460px;" wrap="soft" maxlength="300" onpaste="return ismaxlength(this)" onkeyup="return ismaxlength(this)"></textarea>

这两种方法都有效,除了 PHP strlen() 函数似乎与我的 Javascript 函数不同地计算返回值(换行符)。

有谁知道如何解决这个问题,以便它们计算相同的 # 个字符,而不管换行符和空格等。

非常感谢!

最佳答案

您必须先转换换行符。在 JavaScript 中,换行符是单个换行符。发送时,有两个。您可以将它们标准化:

$textarea = $_POST['textarea'];
$textarea = str_replace("\r\n", "\n", $textarea);
$textarea = str_replace("\r", "\n", $textarea);

然后你可以计算文本区域的长度。

关于php - Javascript 和 PHP 的文本区域字符限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4575150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com