Задача 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>";
}
?>