Skip to content

Instantly share code, notes, and snippets.

@r17x
Last active October 23, 2017 12:18
Show Gist options
  • Save r17x/8b64840a345dff76edb9adff200e8edd to your computer and use it in GitHub Desktop.
Save r17x/8b64840a345dff76edb9adff200e8edd to your computer and use it in GitHub Desktop.
<?php
/*
*
* Filter 420 eh 240 . limit char on paragraph
*/
$sample = '<p class="job">Psicóloga Sanitaria y Sexóloga | Redactora en Psicología y Mente</p> <p class="stats">41 artículos</p> <p class="desc"></p><p><strong>Isabel Rovira Salvador</strong> (Valencia, 1989) es Licenciada en Psicología por la Universitat de València. Especializada en Sexología Clínica y Terapia de Pareja por el Instituto Superior de Estudios Psicológicos (ISEP) donde, entre otras cosas, descubrió su pasión por la psicología de la infertilidad. Para completar su formación clínica, realizó el Máster de Psicología General Sanitaria en la Universitat de Valencia.</p> <p>Ha desempeñado labores de psicóloga en diversos centros, entre ellos la Unidad de Salud Mental del Hospital Clínico Universitario de Valencia y el Instituto Valenciano de Infertilidad (IVI) en Barcelona.</p> <p>Actualmente, Isabel compatibiliza su trabajo con un blog divulgativo llamado “Sexplícitamente Hablando”. En el que reflexiona sobre aspectos psicológicos de las relaciones personales y sobre la sexualidad.</p> <p></p>';
$rmtags = strip_tags($sample);
$sliceToArr = explode(' ', $rmtags);
//$rmEmpty = function($text){
// return !empty($text) || $text != '';
//};
// Remove Empty But You whitechar On Text is missing
//$cleanArr = array_filter($sliceToArr , $rmEmpty);
$cleanArr = $sliceToArr;
echo 'Total Char: '.array_sum(
array_map('strlen', $cleanArr)
);
//.PHP_EOL.'Count : '.count($cleanArr);
$reverse = array_reverse($cleanArr); //Reverse Array For Fastest Search
for($i = 1; $i<=count($reverse); $i++){
$arr_slice = array_slice($reverse,$i);
$countArr = array_sum(
array_map('strlen',$arr_slice)
);
if ($countArr <= 240){
$final = array_reverse($arr_slice); // Reverse To Origin Text
break;
}
}
$text = implode(' ', $final);
echo PHP_EOL.'TEXT FINAL:'.$text.PHP_EOL."Total Char : ".strlen(
preg_replace('/\s+/', '',$text)
).PHP_EOL.PHP_EOL;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment