PHP / MySQL限制字符

时间:2012-04-11 23:21:27

标签: php mysql css dynamic limit

以下是我正在处理的内容的预览: enter image description here

标题,文本和图像都是基于用户动态创建的。他们可以选择是否要添加图片,他们可以选择标题中的文字和主要内容。

不能是任何滚动,所以它必须是可见的,不能越过那个白色的底部。

我的问题是......我怎么能限制身体的文字?

  • 如果标题很大并且下降到两行,并且有一张图片,那么为了保持在线条而不是越过白色,它必须限制为一定数量的字符。

  • 但是另一个用户可能决定没有图片并将标题保持在一行中,这样用户就会有更多的文字要写,所以限制应该是不同的。

我想对我来说这个令人困惑的部分就像..如果用户没有图片并且标题很短,并且创建了一些非常长的文本以适应大小,那么稍后会决定添加图像..然后那长篇文章现在不再合适了。所以现在..我不能限制文本,因为它已经存在。

我希望这是有道理的。如果有人能帮助我完成这个并给我一些想法,我会非常感激。

4 个答案:

答案 0 :(得分:2)

将此用于用户输入用于添加文本的任何内容。它可以限制他们使用的字符只需更改250值。

<script>
        function countChar(val){
                                var len = val.value.length;
                                if (len >= 250) {
                                    val.value = val.value.substring(0, 250);
                                }else {
                                    $('#charNum').text(250 - len);
                                }
        };


    </script


<textarea id="field" name="description" onKeyUp="countChar(this)"></textarea>

答案 1 :(得分:1)

有几种不同的选择需要考虑。您可能希望限制用户可以为初学者输入的文本量,以确保它不会溢出。

我可能会做的一件事是在页面上找到您最喜欢的字符数量,并在数据库的输出上使用substr以确保它永远不会显示更多。

http://php.net/manual/en/function.substr.php

您可以拥有一个“更多”链接,访问者可以根据需要阅读更多内容,但不会破坏布局。我会使用逻辑的基本if语句(如果图片存在,修剪文本,如果不是等)。

希望有所帮助。

答案 2 :(得分:1)

不仅text需要limit而且image thumbnail,这会影响您网页的风格

要限制字符串的数量..我会在这里使用脚本表单php trim a string

function trim_word($str, $length, $suffix = '...') 
{
    $len = strlen($str);

    if ($len < $length) return $str;

    $pattern = sprintf('/^(.{%d,}?)\b.*$/', $length);
    $str = preg_replace($pattern, '$1', $str);
    $str = trim($str);
    $str .= $suffix;

    return $str;
}

它修剪文本并确保它总是以一个单词结束......

您可以使用http://phpthumb.sourceforge.net/生成固定大小的thumbnail,只需设置所需的高度和宽度

答案 3 :(得分:1)

用你想要的固定高度的容器div环绕整个东西,没有填充,并且在那里放置另一个没有边距且没有固定高度的内部div,然后当用户更改内容时创建一个javascript函数来检查如果内部div是&lt;容器div;如果没有,则不允许用户进行更改 - 这样就可以直接攻击问题。

<script>
function checkDivs() {
 if(inner.style.height >= container.style.height) {
 //prevent change
 }
}
</script>
<div id='container'>
  <div id='inner'>
  //User-defined content
  </div>
</div>

此功能将附加到用户编辑内容的任何GUI,至于如何防止更改,我必须了解有关您的程序的更多信息。