Php-mysql Course

The cleanLongWords() function presented in this page can be used to clean text with multiple consecutive characters and long words in PHP. Useful to clean texts that users add in input text fields or textarea.
By default, the function allows maximum 2 consecutive repetitions of characters in words, but not affects the numbers, and split the word to maximum 23 characters. See the comments in code, and example below.

Code of the cleanLongWords() function

- Click to select it.
function cleanLongWords($text, $nrchr=2, $maxword=23) {
// function to clean text with multiple consecutive characters and very long words ( )
// $nrchr = allowed number of consecutive character
// $maxword = maximum word length
  $paterns = array();
  $chr = array('q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l',';','z','x','c','v','b','n','m',',','!','@','#','%','&','_','=',':','"','`','~',';','â','á','é','í','ó','ú','ý','ø','č','ć','đ','š','ž','ā','ä','ǟ','ḑ','ē','ī','ļ','ņ','ō','ȯ','ȱ','õ','ȭ','ŗ','š','ț','ū','ž','ş','î','ă',"'",'$','\^','\*','\(','\)','\{','\}','\|','\?','\.','\[','\]','\/','\\\\','\>','\<');

  // uncomment next line if you want to clean consecutive numbers too
  ///  $chr = array_merge($chr, array('1','2','3','4','5','6','7','8','9','0'));
  $n_chr = count($chr);
  for($i=0; $i<$n_chr; $i++) {$paterns[$i] = '/(['. $chr[$i] .']{'. $nrchr .',}){2,}/i'; }
  $text = preg_replace($paterns, '$1', $text);

  // if $maxword > 0, split the word to specified number of characters
  return ($maxword > 0) ? wordwrap($text, $maxword, ' ', true) : $text;

Example usage

// Here Add the cleanLongWords() function

$text = '\\\\\\\\\  A ttttttteeeeeeeeexxxxxxt with loooooonnnnnngggggg woooooooooooords and coooooonnnnnnsssssseeeeeeccccccuuuuuuttttttiiiiiivvvvvveeeeeee characteeeeeerrrrrrssssss [[[[[]]]]]] ///////......';

$text1 = cleanLongWords($text);
$text2 = cleanLongWords($text, 3);    // allow 3 consecutive repetitions of characters
$text3 = cleanLongWords($text, 1, 0);    // not consecutive characters, and not split the word

echo '$text1 - '. $text1;
echo '<br>$text2 - '. $text2;
echo '<br>$text3 - '. $text3;
- Result:
$text1 - \\ A tteexxt with loonngg woords and coonnsseeccuuttiivvee characteerrss [[]] //..
$text2 - \\\\\ A ttteeexxxt with looonnnggg wooords and cooonnnssseeecccuuuttti iivvveee characteeerrrsss [[[[[]]] ///...
$text3 - \ A text with long words and consecutive characters [] /.

Daily Test with Code Example

Which HTML5 tag is indicated to be used as container for menu with navigation links in Web site?
<section> <nav> <article>
 <li><a href="" title="CSS Course">CSS Course</a></li>
 <li><a href="" title="Flash Games">Flash Games</a></li>
Which CSS property shifts an item horizontally to the left or right of where it was?
text-align clear float
.some_class {
  width: 30%;
  float: left;
Click on the Math object method which returns x, rounded downwards to the nearest integer.
Math.ceil(x) Math.abs(x) Math.floor(x)
var num = 12.34567;
num = Math.floor(num);
alert(num);       // 12
Indicate the PHP function which returns the number of characters in string.
mb_strlen() count() stristr()
$str = "string with utf-8 chars åèö";
$nrchr = mb_strlen($str);
echo $nrchr;        // 30
Delete multiple consecutive characters and Split long words

Last accessed pages

  1. PHP-MySQL free course, online tutorials PHP MySQL code (57754)
  2. innerHTML and outerHTML to Get and Replace HTML content (25633)
  3. Refresh page if window width changes from a device size to other (362)
  4. Execute JavaScript scripts loaded via AJAX (5460)
  5. Simple arithmetic calculator in PHP (784)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (491)
  2. Read Excel file data in PHP - PhpExcelReader (228)
  3. PHP-MySQL free course, online tutorials PHP MySQL code (219)
  4. querySelector and querySelectorAll (209)
  5. Create simple Website with PHP (199)