Skip to content

Instantly share code, notes, and snippets.

@r17x
Last active October 23, 2017 11:17
Show Gist options
  • Save r17x/5415bf8767740c8c205f172f21049fc4 to your computer and use it in GitHub Desktop.
Save r17x/5415bf8767740c8c205f172f21049fc4 to your computer and use it in GitHub Desktop.
<?php
$sample = "<p>Dignissimos quo nostrum enim quo necessitatibus consequatur sed voluptatem. Provident aut dolorum voluptas qui. Veniam molestiae perspiciatis aspernatur quod. Labore maxime ipsa ab nesciunt. Dignissimos quo nostrum enim quo necessitatibus consequatur sed voluptatem. Provident aut dolorum voluptas qui. Veniam molestiae perspiciatis aspernatur quod. Labore maxime ipsa ab nesciunt.</p>
<p>Dignissimos quo nostrum enim quo necessitatibus consequatur sed voluptatem. Provident aut dolorum voluptas qui. Veniam molestiae perspiciatis aspernatur quod. Labore maxime ipsa ab nesciunt. Dignissimos quo nostrum enim quo necessitatibus consequatur sed voluptatem. Provident aut dolorum voluptas qui. Veniam molestiae perspiciatis aspernatur quod. Labore maxime ipsa ab nesciunt.</p>
<p>Dignissimos quo nostrum enim quo necessitatibus consequatur sed voluptatem. Provident aut dolorum voluptas qui. Veniam molestiae perspiciatis aspernatur quod. Labore maxime ipsa ab nesciunt. Dignissimos quo nostrum enim quo necessitatibus consequatur sed voluptatem. Provident aut dolorum voluptas qui. Veniam molestiae perspiciatis aspernatur quod. Labore maxime ipsa ab nesciunt.</p>";
function getTextOnly($html){
// <p>asda asdf asdf a</p>
// output asdaasdfasdfa
return preg_replace('/\s+/','',strip_tags($html));
}
function divText($row, $div, $total){
return floatval(($row/$total)*$div);
}
$re = '/<p>(.*?)<\/p>/';
$charOnly = getTextOnly($sample);
$charCount = strlen($charOnly);
if ($charCount > 240 ) {
preg_match_all($re, $sample, $match_all);
$div = $charCount - 240;
$finalstr='';
foreach($match_all[0] as $v){
$char = preg_replace('/\s+/','',strip_tags($v));
$clen = strlen($char);
$finalstr.= preg_replace($re,substr($char,0,$clen-divText($clen, $div, $charCount)),$v);
}
echo $finalstr.PHP_EOL;
echo 'Total : '.strlen(getTextOnly($finalstr));
}
else
echo $sample.PHP_EOL."Total:".$charCount;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment