0

我有一个选项面板,在这个选项面板中,我有一个 ID 为“mytheme_about_me”的文本区域。

我想限制此文本区域的字符。我找到了很多 jQuery 解决方案,但是因为文本区域与我的 index.php 不在同一个 php 页面中,所以我不能使用 jQuery。所以我想知道如何使用 php 来做到这一点?

4

3 回答 3

1

您可以使用该maxlength属性,现在textarea主流浏览器也支持该属性。请注意,浏览器可能会以不同的方式计算换行符(每个换行符为 1 或 2 个字符)。(我想问题是关于客户端检查。服务器端检查应该不是问题。)

于 2012-10-17T13:17:56.113 回答
1

html 方式:只需将 html 添加maxlenght到您的 html 输入中,以防止在 20 处添加字符,例如。<input type="text" name="whatever" maxlength="20">. 这是不安全的,因为任何用户都可以修改此代码并更改字符限制,不要忘记运行 php 测试。

php 方式:strlen($yourstring)用于了解字符串的长度,以便您可以指定限制,不要忘记 php 我的意思是“服务器端脚本”,因此此测试将在您的服务器上执行,防止客户端破解您的代码。

if (strlen($yourstring) <= 25)
// Save the input value
else
   echo 'your input is too long (25 characters max)';

PS:您无法访问您的 jquery.js,因为您需要将它包含在您正在使用的每个 .php 页面中,而不仅仅是 index.php

于 2012-10-17T13:19:25.860 回答
1

无论如何,你可以用“普通”的javascript来做

<script type="text/javascript">
function limit(max) {
    var textarea = document.getElementById('textarea');
    if (textarea.value.length > max) {
        textarea.value = textarea.value.substring(0, max);
    } 
}
</script>

HTML

<textarea id="textarea" onkeydown="limit(10);">bla bla</textarea>

limit()使用您允许的最大字符数调用

于 2012-10-17T13:23:33.317 回答