Вывести ВСЕ самые короткие и ВСЕ самые длинные слова
10. Каждый третий паробел заменить на "*"
*/
$a="С одной стороны, качественная питьевая вода течет лишь в родниках или ручьях. В современных мегаполисах таких днем с огнем не найти. Поэтому горожане вынуждены довольствоваться хлорированной водой из-под крана, которая не приносит приятных вкусовых ощущений. Впрочем, а куда от нее денешься, если водопроводную воду приходится дезинфицировать? С другой стороны, учеными было обнаружено, что хлорированная вода способствует накапливанию в воде канцерогенных веществ, которые способствуют онкологическим заболеваниям. Вот и получается, что без чистой бутилированной воды нам никак не обойтись.";
echo "<b>Исходный текст:</b> ".$a."<br /><br />";
// 1
echo "<b>1. заменить все буквы \"а\" на \"!\"</b><br />";
echo "<b><i>Результат:</i></b> ".str_replace("а","!",$a)."<br /><br />";
// 2
echo "<b>2. подсчитать количество букв \"б\"</b><br />";
echo "<b><i>Результат:</i></b> ".substr_count($a,"б")."<br /><br />";
// 3
echo "<b>3. найти номер первого \"?\"</b><br />";
echo "<b><i>Результат:</i></b> ".strpos($a,"?")."<br /><br />";
// 4
echo "<b>4. определить, есть ли в строке \"!\"</b><br />";
echo "<b><i>Результат (в исходной строке):</i></b> ";
if (substr_count($a,"!")>0) echo "да"; else echo "нет";
echo "<br />";
echo "<b><i>Результат (в строке, в которой \"а\" заменено на \"!\"):</i></b> ";
if (substr_count(str_replace("а","!",$a),"!")>0) echo "да, ".substr_count(str_replace("а","!",$a),"!")." раз(а)"; else echo "нет";
echo "<br /><br />";
// 5
echo "<b>5. разбить строку на слова</b><br />";
echo "<b><i>Результат:</i></b> ";
//print_r(explode(" ",$a));
foreach (explode(" ",$a) as $val) echo "[".$val."] ";
echo "<br /><br />";
// 6
echo "<b>подсчитать, сколько раз в строке встречается каждый символ и подсчитать, сколько в среднем раз в строке встречается каждый уникальный символ</b><br />";
echo "<b><i>Символы встречаются столько раз:</i></b> <br />";
for ($i=0;$i<strlen($a);$i++)
{
$letter=$a[$i];
if (isset($arr_symb[$letter])) $arr_symb[$letter]+=1; else $arr_symb[$letter]=1;
}
arsort($arr_symb);
foreach ($arr_symb as $akey => $val) echo "['".$akey."' = ".$val."] ";
echo "<br /><br />";
$summa=0;
foreach ($arr_symb as $val)
{
$summa+=$val;
}
echo "<b><i>Символы встречаются в среднем</i></b> ".($summa/count($arr_symb))." <b><i>раз(а)</i></b><br />";
echo "<b><i>Всего в строке</i></b> ".count($arr_symb)." <b><i>уникальных символа(ов)</i></b><br />";
echo "<b><i>Символы: </i></b>";
foreach ($arr_symb as $akey => $val) echo "[".$akey."] ";
// 7
$stroka=$a;
for ($i=0;$i<strlen($stroka)-1;$i++)
{
if ($stroka[$i]=='а') $stroka[$i+1]=strtoupper($stroka[$i+1]);
}
echo $stroka;
// 8
$arr=explode(" ",$stroka);
$minindex=0;
$maxindex=0;
for ($i=0;$i<count($arr);$i++)
{
if (strlen($arr[$minindex])>strlen($arr[$i]))
{
echo "<br><br>Сравниваем ".$minindex."-й элемент массива [".$arr[$minindex]."] c ".$i."-м элементом массива [".$arr[$i]."]: ".$i."-й короче. Теперь самым коротким словом считается ".$i."-й элемент [".$arr[$i]."]<br>";
$minindex=$i;
}
else echo "<br><br>Сравниваем ".$minindex."-й элемент массива [".$arr[$minindex]."] c ".$i."-м элементом массива [".$arr[$i]."]: ".$minindex."-й длиннее или равен. Ничего не делаем.<br>";
if (strlen($arr[$maxindex])<strlen($arr[$i])) $maxindex=$i;
}
$minl=strlen($arr[$minindex]);
$maxl=strlen($arr[$maxindex]);
echo "<br><br>Min: ".$arr[$minindex]." = ".strlen($arr[$minindex])."<br />";
echo "Max: ".$arr[$maxindex]." = ".strlen($arr[$maxindex])."<br />";
// 9
foreach ($arr as $k => $v)
{
$arr[$v]=strlen($v);
unset($arr[$k]);
}
asort($arr);
echo "<br><br>";
foreach ($arr as $k => $v)
{
if ($v==$minl) echo "[".$k."]";
}
foreach ($arr as $k => $v)
{
if ($v==$maxl) echo "{".$k."}";
}
// 10
$j=0;
for ($i=0;$i<strlen($stroka);$i++)
{
if ($stroka[$i]==" ")
{
$j++;
if ($j % 3 == 0) $stroka[$i]="*";
}
}
// 11 – пример разбиения строки на слова (без знаков препинания)
// с использованием регулярных выражений
preg_match_all("/(\w+)(\W+)/U",$stroka,$arr1);
print_r($arr1[1]);
/* Задание 11
Продемонстрировать на примерах работу нескольких функций
PHP по работе с датой-временем */
// Выводим текущее время в формате unixtime
echo time()."<br />";
// Выводим в формате Ч:М:С Г.М.Д дату, которая наступит
// через 2765 часов с текущего момента
$a=time()+(3600*2765);
echo date("H:i:s Y.m.d",$a);
// Разбираем текущее время на компоненты с помощью getdate
print_r(getdate(time()));
// Определяем unixtime для 11:45:15 2006.10.25
$a=mktime(11,45,15,10,25,2006);
echo date("H:i:s Y.m.d",$a)."<br><br>";
// Узнаём текущее время с точностью до 0.000001 секунды
print_r(microtime());
/* Задание 12
На чёрном прямоугольнике вывети текст Test шрифтом Arial под углом -45 градусов
белым цветом с красной тенью */
header("Content-type: image/png");
// Создаём изображение
$im = imagecreatetruecolor(400, 500);
// Задаём цвета
$white = imagecolorallocate($im, 255, 255, 255);
$red = imagecolorallocate($im, 255, 0, 0);
$black = imagecolorallocate($im, 0, 0, 0);
// Задаём текст
$text = 'Test';
// Файл шрифта должен лежать в текущем каталоге (или необходимо указать
// полный путь к файлу шрифта)
$font = 'arial.ttf';
// Выводим тень
imagettftext($im, 20, -45, 11, 21, $red, $font, $text);
// Выводим текст
imagettftext($im, 20, -45, 10, 20, $black, $font, $text);
// Отправляем изображение в выходной поток
imagepng($im);
imagedestroy($im);
/* Задание 13
Продемонстрировать работу функций PHP по взаимодействию с файловой системой */
// Проверка файла на существование
$filename="c:/www_pub/task1.php";
if (file_exists($filename)) echo "OK<br />"; else echo "NO<br />";
// Проверка, является ли объект файловой системы файлом
if (is_file($filename)) echo "File<br />";
// Проверка, является ли объект файловой системы каталогом
if (is_dir($filename)) echo "Dir<br />";
// Определение размера файла
echo "Size = ".filesize($filename)." bytes (".round((filesize($filename)/1024),1)." Kb)";
// Прочитать содержимое файла и закодировать его в base64
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
echo str_replace("\n","<br>",htmlspecialchars($contents));
$contents=base64_encode($contents);
echo $contents;
// Записать результат кодирования в base64 в новый файл
$filename="c:/www_pub/task1.base_64";
$handle = fopen($filename, 'w+');
if ($handle===false)
{
die("<br><br>Не могу открыть файл ($filename) для записи");
}
if (fwrite($handle, $contents) === FALSE)
{
die("<br><br>Не могу записать данные в файл ($filename)");
}
fclose($handle);
// Определить текущий каталог
echo "<br />Current dir: ".getcwd()."<br />";
// Перейти в корневой каталог диска c:
chdir("c:\\");
echo "<br />Current dir: ".getcwd()."<br />";
// Прочитать содержимое каталога, вывести файлы синим цветом с размером и датой
// а каталоги – красным цветом
if ($handle = opendir(getcwd()))
{
echo "Files:<br />";
while (false !== ($filename = readdir($handle)))
{
if (($filename==".")||($filename=="..")) continue;
if (is_file($filename))
echo "<font color=\"#0000FF\">".$filename."</font> (".filesize($filename).") [".date("Y.m.d H:i:s",filectime($filename))."]<br />";
else echo "<font color=\"#FF0000\">".$filename."</font><br />";
}
closedir($handle);
}
/* Задание 14
Прочитать и вывести список файлов в каталоге. Файлы
с расширением ".php" вывести зелёным цветом. И для них
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|