PHP:如何按长度删除数组元素?

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);

DEMO

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;
});