Last active
October 23, 2017 11:17
-
-
Save r17x/5415bf8767740c8c205f172f21049fc4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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