Мисоли 46. Дар файли матнии додашуда дар таркиби калимаҳо ҳам ҳарфҳо ва ҳам рақамҳо буда метавонанд. Ҳамаи рақамҳоеро, ки дар таркиби калимаи дарозтарин ҳастанд, бо рамзи "*" иваз намоед. Агар чунин калимаи дарозтарин якчандто бошад, ин амалро нисбати ҳамаашон иҷро намоед.
<?php
// Калима гуфта маҷмӯи рамзҳоеро меномем, ки
// аз дигар маҷмӯъ бо рамзи пробел ҷудо карда шудааст.
// массиви рақамҳо
$arr_digits = array('0','1','2','3','4','5','6','7','8','9');
// матни дар файл бударо ба тағйирёбанда мегирем
$row_data = file_get_contents('test2.txt');
// аз матн калимаҳоро ҷудо карда ба массив мебахшем
$arr_data = explode(' ', $row_data);
$max = strlen($arr_data[0]);
foreach($arr_data as $w) {
$word_length = strlen($w);
if($word_length > $max)
$max = $word_length;
}
echo "<p>Калимаи дарозтарин:<br>";
foreach($arr_data as $w)
if(strlen($w) == $max) {
$longest_word[] = $w;
echo $w, "<br>";
}
// Иваз намудани рақам бо рамзи *
foreach($longest_word as $w) {
$w = str_replace($arr_digits, '*', $w);
echo $w,"<br>";
}
?>