Задача 46. В заданном текстовом файле элементами слов могут быть как буквы, так и цифры. Все цифры, входящие в самое длинное слово, заменить на символ "*".

<?php
/*
Задача 46. В заданном текстовом файле элементами слов могут быть как буквы, так и цифры. Все цифры, входящие в самое длинное слово, заменить на символ "*".
*/

// Словом будем называть набор символов, разделенный от другого набора знаком пробела

// массив цифр
$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>";
}
?>