I have this array output:
Array
(
[0] => de la que fue colaborador Sicard, fue realizado ya en 1795 en la Décade philosophique y en el Magasin encyclopedique, y su aparición dos años después
[1] => de la obligación de tener presentes incesantemente estas combinaciones {44}. Tienen un carácter más estable que las ideas, pero son también
[2] => de la época X de su Esquisse dun tableau historique del progrès de lesprit humain, pero no apareció en ninguna de las versiones publicadas
[3] => de la Asociación de bibliotecarios americanos, es una
}
Could you please help me to remove all elements with more than 100chars or 10 words?
This is my code.
Unfortunately the code provided by experts does not works when I am using variables:
<?php
function tag_contents($string, $tag_open, $tag_close){
foreach (explode($tag_open, $string) as $key => $value) {
if(strpos($value, $tag_close) !== FALSE){
$result[] = substr($value, 0, strpos($value, $tag_close));;
}
}
return $result;
}
$string = 'de la que fue colaborador Sicard, fue realizado ya en 1795 en la Décade philosophique y en el Magasin encyclopedique, y su aparición dos años después de la obligación de tener presentes incesantemente estas combinaciones {44}. Tienen un carácter más estable que las ideas, pero son también de la época X de su Esquisse dun tableau historique del progrès de en el lesprit humain, pero no apareció en ninguna de las versiones publicadas de la Asociación de bibliotecarios americanos, en el';
$strpos = 'de la' ;
$tagclose = 'en el';
echo "<pre>";
print_r(tag_contents($string , $strpos , $tagclose));
echo "</pre>";
?>
These strings are too short, but I want to know how I remove all elements with more than 'X'chars or 'X' words?
Just iterate through array and check conditions fro length and words and unset array element according to it
$arr = Array
(
0 => 'de la que fue colaborador Sicard, fue realizado ya en 1795 en la Décade philosophique y en el Magasin encyclopedique, y su aparición dos años después',
1 => 'de la obligación de tener presentes incesantemente estas combinaciones {44}. Tienen un carácter más estable que las ideas, pero son también',
2 => 'de la época X de su Esquisse dun tableau historique del progrès de lesprit humain, pero no apareció en ninguna de las versiones publicadas',
3 => 'de la Asociación de bibliotecarios americanos, es una'
);
foreach($arr as $key=>$value)
{
if(strlen($value)>100 || str_word_count($value) > 10)
{
unset($arr[$key]);
}
}
var_dump($arr);
Try the following code:
foreach($yourArray as $key=>$value) {
if(strlen($value)>100 || str_word_count($value)>10) {
unset($yourArray['key']);
}
}
echo '<pre>';
print_r($yourArray);
$tmp = [
'de la que fue colaborador Sicard, fue realizado ya en 1795 en la Décade philosophique y en el Magasin encyclopedique, y su aparición dos años después',
'de la obligación de tener presentes incesantemente estas combinaciones {44}. Tienen un carácter más estable que las ideas, pero son también',
'de la época X de su Esquisse dun tableau historique del progrès de lesprit humain, pero no apareció en ninguna de las versiones publicadas',
'de la Asociación de bibliotecarios americanos, es una'
];
$tmp = array_filter($tmp, function($currentElement) {
return strlen($currentElement) <= 100 && str_word_count($currentElement) <= 10;
});