Представляю себе только отдельные части, но все вместе это не работает.
Создайте форму с method=”post”.
1 В форме должны быть текстовая область (textarea) и кнопка.
2 В обработчике необходимо принять строку из текстовой области.
3 Создайте массив, где каждый элемент будет содержать 1 символ из переданной строки.
4 Удалите каждый чётный элемент (то есть 0, 2, 4 и так далее).
5 Соедините все элементы получившегося массива в одну строку и выведите её.
Примечание: Должно получиться что-то наподобие этого: пришла строка «Моя строка», а выйти в браузер должно: «о тоа».
В итоге -ничего не выводит. И что-то здесь ещё с кодировкой при вводе на русском. хотя пытаюсь использовать
<mb_strlen($text,'utf-8')
на английском- без ромбов.
<form method="post" action="">
<textarea name='text'></textarea>
<input type='submit' name="Enter">
</form>
<?php
$text = false;
if(isset($_POST['submit'])) {
$text = htmlspecialchars($_POST['text']);
for($i = 0; $i <strlen($text); $i++){
$arr[] = $i;
}
echo $arr;
/*<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<textarea name="text" value="<?=$text?>"></textarea>
<input type="submit" name="submit" value="Отправить" />
</form>*/
//4. Создайте массив, где каждый элемент будет содержать 1 символ из переданной строки.Если каждой строки textarea то так может.
if(isset($_POST['Enter'])){
$text = preg_split("~\n~",trim($_POST['text']));
print_r(
array_combine(array_keys($text),array_values(preg_replace("~.{1}\\K.+~","",$text)))
);
}
//п.5 Удалите каждый чётный элемент (то есть 0, 2, 4 и так далее)
$text ='abcd'; //переданный текст
for($i=0;$i<mb_strlen($text,'utf-8');$i++){
if($i%2==0){
$text{$i} = '';
}
}
//echo $text;
echo mb_strlen($text, 'utf-8');