Задачи
Функции работы со строками, массивы
Написать код, который позволяет ввести в форму текст, и на выходе выдает самое длинное слово в данном тексте.
Решение
<?php
if($_REQUEST["a"] == "1") {
$t=0;
$t1=0;
$stroka = $_REQUEST["b"];
echo $stroka."<br/>";
$strarray=explode(" ",$stroka);
foreach($strarray as $key1 => $slovo) {
$t=strlen($slovo);
if ($t>$t1) {
$t1=$t;
$t2=$key1;
}
}
echo $strarray[$t2];
} else {
echo '<form method="POST">';
echo '<input type="text" name="b" /><br />';
echo '<input type="hidden" name="a" value="1" />';
echo '<input type="submit" value="ENTER" />';
echo '</form>';
}
?>
Математические функции
Написать код, который позволяет ввести натуральное число A и выводит все его делители по возрастанию.
Решение
HTML-форма
<form method="POST"> <input name="number" type="text" value=""> <input type="submit" value="отправить!"> </form>
PHP-обработка
<?
$num = $_REQUEST['number'];
for ($i = 1; $i <= $num; $i++){
if ($num % $i==0)
echo "$i ";
}
?>
Массивы
Написать код, который позволяет ввести в форму текст, и на выходе выделяет случайное слово жирным (т.е., обрамляет данное слово в тег <b>).
Решение
<?
$text = $_REQUEST['text'];
echo '<form method="POST">';
echo '<input type="text" name="text" value="'.$text.'"/><br />';
echo '<input type="submit" value="Отправить!" />';
echo '</form>';
$words = explode(' ', $text);
$rand = rand(0, count($words)-1);
$words[$rand] = '<b>' . $words[$rand] . '</b>';
$text = implode(' ', $words);
echo $text;
?>
Обработка строк
Написать код, который позволяет ввести в форму текст, и на выходе выдает самое длинное предложение (по числу слов) в данном тексте.
Решение
PHP-обработка
<?
$text = $_REQUEST['text'];
$sent = explode('. ', $text);
for ($i = 0; $i < count($sent); $i++){
$wordsCount = count( explode(' ', $sent[$i]) );
if ($wordsCount > $maxWordsCount){
$maxSentIndex = $i;
$maxWordsCount = $wordsCount;
}
}
if ($text){
echo 'Самое длинное предложение:<br />' . $sent[$maxSentIndex] . '<br />';
echo 'В нём целых ' . $maxWordsCount . ' слов!<br />';
}
?>
HTML-форма
<form method="POST"> <textarea name="text" cols=30 rows=9><?=$text?></textarea><br /> <input type="submit" value="отправить!"> </form>
Парсинг данных
Написать код, который позволяет ввести в форму текст, и подчеркнуть в нем все числа, написанные цифрами (добавить к числам тег <u>).
Массивы, строки
Написать код, который позволяет ввести в форму текст, и подчеркнуть в нем все слова, начинающиеся со строчной буквы «а».
Юмор
Программист Сидор Пентюхов пишет девушке, с которой познакомился в чате, N писем в день объемом по K килобайта каждое, а юзер Вася Чайников – P писем по R килобайт. Каков будет их суммарный траффик к тому моменту, как они обнаружат, что переписываются друг с другом? N, K и P, R вводятся в текстовое поле.