计数textarea标志正确php mb_strlen
问题描述:
function countCharacterNoCK($contentVar, $maximumChars){
$countThisString = strip_tags($contentVar);
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/");
$replace = Array("a","o","u","A","O","U","s");
$countThisString1 = preg_replace($umlaute, $replace, $countThisString);
$lenght = mb_strlen(html_entity_decode($countThisString1, ENT_QUOTES, 'UTF-8'));
if($lenght < $maximumChars+1){
return TRUE;
}else{
return $lenght;
}
}
此功能不按预期方式工作。问题是:我有一个<textarea>
,我可以按Enter键。计数textarea标志正确php mb_strlen
<textarea name="testvalue">
12345 1234
1234512345
</textarea>
如果我打电话给我的函数$test = countCharacterNoCK($_POST['testvalue'], 20);
稍后即归 “22”。
如何解决这个问题?我试过用strip_tags
,但它并没有解决我的问题...我希望函数可以像MS Office(Word)一样计数,但不能解决这个问题...任何tipps?
答
我想它是在计算新行'\ n'的隐形字符。
你应该尝试修剪:第一,而不是
$temporarystring =trim($countThisString1);
$lenght = mb_strlen(html_entity_decode($temporarystring, ENT_QUOTES, 'UTF-8'));
答
一整天我搜索,现在经过我问的问题我找到了解决办法:
$umlaute = Array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/",**"~[\r\n]+~"**);
$replace = Array("a","o","u","A","O","U","s",**""**);
感谢您阅读大家
谢谢,我刚刚发现了:)我想我会跟你解决。非常感谢你,先生。 –
非常欢迎您!祝你有美好的一天! –