编程论坛's Archiver

qiangzai8536 发表于 2007-2-14 01:00

[分享][讨论][求助]请教:如何用PHP或JS控制:标题限制为4-20个汉字,内容10-3000个

<P>如何用PHP或JS控制:标题限制为4-20个汉字,内容10-3000个汉字呢?此文本大致如下:谢谢!</P>
<P>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;</P>
<P> &lt;form method='POST' action='fbjypx_yjzlb.php?action=login'&gt;<BR>  &lt;table border="0" align="center" width="750" cellspacing="0" cellpadding="0"&gt;<BR>    &lt;tr&gt;<BR>      &lt;td width="100%" class="f2"&gt;密&amp;nbsp;&amp;nbsp;码:&lt;input type="text" name="mm" size="20" onMouseOver = "this.style.backgroundColor = '#E5F0FF'" onMouseOut = "this.style.backgroundColor = ''"&gt;<BR>      &lt;/td&gt;  <BR>    &lt;/tr&gt;<BR>    &lt;tr&gt;<BR>      &lt;td width="100%" class="f2"&gt;标&amp;nbsp;&amp;nbsp;题:&lt;input type="text" name="bt" size="40" onMouseOver = "this.style.backgroundColor = '#E5F0FF'" onMouseOut = "this.style.backgroundColor = ''"&gt;<BR>      &lt;font class="f1"&gt;(23个汉字以内)&lt;/font&gt;&lt;/td&gt;                         <BR>    &lt;/tr&gt;<BR>     &lt;br&gt;<BR>    &lt;tr&gt;<BR>      &lt;td width="100%" class="f2"&gt;内&amp;nbsp;&amp;nbsp;容:&lt;font class="f1"&gt;(3000个汉字以内)&lt;/font&gt;&lt;/td&gt;<BR>    &lt;/tr&gt;<BR>    &lt;tr&gt;<BR>      &lt;td width="100%" &gt;<BR>       &lt;textarea rows="20" name="nr" cols="105" onMouseOver = "this.style.backgroundColor = '#E5F0FF'" onMouseOut = "this.style.backgroundColor = ''"&gt;&lt;/textarea&gt;&lt;/td&gt;<BR>    &lt;/tr&gt;<BR>    &lt;tr&gt;<BR>      &lt;td width="100%" &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;              <BR>       &lt;input type="submit"  value="提&amp;nbsp;交"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;input type="reset" value="重&amp;nbsp;来"&gt;&lt;/td&gt;<BR>    &lt;/tr&gt;<BR>  &lt;/table&gt;<BR> &lt;/form&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR></P>

JavaEE5 发表于 2007-5-25 10:02

strlen 获取字符串长度<BR>substr 截取字符串

lmhllr 发表于 2007-5-25 12:35

<P>PHP原有函数对中英混合的支持不大好<BR><BR>如果有mb_扩展直接用就可以了<BR><BR>没有的话用这个函数<BR><BR>function strSplit($s, $len) {<BR>    $end = '…';<BR>    $result = '';<BR>    $strLen = strlen($s);<BR>    if ($strLen &lt;= $len) {<BR>        return $s;<BR>    }<BR>    $len -= 2;<BR>    for ($i=0; $i&lt;$len &amp;&amp; $i&lt;$strLen; $i++) {<BR>        $c = $s[$i];<BR>        if (ord($c) &lt; 0x80) {<BR>            $result .= $c;<BR>        } elseif ($i+1&lt;$len) {<BR>            $result .= $s[$i++] . $s[$i];<BR>        }<BR>    }<BR>    return ($i &lt; $strLen) ? ($result . $end) : $result;<BR>}</P>
<P>echo strSplit('1234567', 10), '&lt;br /&gt;';<BR>echo strSplit('1234567890', 10), '&lt;br /&gt;';<BR>echo strSplit('1234中文567890abcdefghijkl', 10), '&lt;br /&gt;';<BR>echo strSplit('全部都是中文', 10), '&lt;br /&gt;';<BR>echo strSplit('全a部b都c是d中e文', 10), '&lt;br /&gt;'; <BR></P>

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.