Мисоли 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>";
}
?>