PHP: function cutText($text, $number) { $resutl = substr($text, 0, $number) . "..."; return $resutl; } Подскажите как переделать данную функцию что бы параметр функции вводились с клавиатуры?
никак... php не может работать с клавиатурой используйте форму - шлите результат в php, либо сделайте аналог на js
Вместо print аяксом на сервер данные с формы HTML: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <form> <textarea name="text_field"></textarea> <input type="number" name="limit" value="10"> <input name="render" type="button" value="print"> </form> <p class="result"></p> <script> const textField = document.querySelector('[name="text_field"]'); const limitField = document.querySelector('[name="limit"]'); const resultField = document.querySelector('.result'); const print = () => { let limit = +limitField.value; let text = textField.value; resultField.innerHTML = text.length > limit ? text.substring(0, limit) + '...' : text; } document.querySelector('[name="render"]').addEventListener('click', print); </script> </body> </html>
Здесь нет. В зависимости от тз запрос нужно написать или оставить как есть. Код (Text): <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <form> <textarea name="text_field"></textarea> <input type="number" name="limit" value="10"> <input name="render" type="button" value="print"> </form> <p class="result"></p> <script> const textField = document.querySelector('[name="text_field"]'); const limitField = document.querySelector('[name="limit"]'); const resultField = document.querySelector('.result'); const print = () => { let limit = +limitField.value; let text = textField.value; resultField.innerHTML = text.length > limit ? text.substring(0, limit) + '...' : text; } const send = () =>{ let limit = +limitField.value; let text = textField.value; fetch('index.php', { method: 'POST', headers: { 'Content-Type': 'application/json;charset=utf-8' }, body: JSON.stringify({limit, text}) }) } document.querySelector('[name="render"]').addEventListener('click', send); </script> </body> </html>
Типизация к числовому значению. В данном случае это не особо нужно, но по привычке, где должно быть число, привожу к числу.
а если не используя js на чистом php такое решаемо? --- Добавлено --- PHP: <?php function cutText($text, $number) { $resutl = substr($text, 0, $number) . "..."; return $resutl; } $output = cutText($_GET['text']??'', (int) $_GET['number']??0); ?> <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <form> <input type="text" name="text"> <input type="number" name="number"> <button type="submit">GO</button> <div><?=$output?></div> </form> </body> </html> есть вот такой вариант но выдает вот такую ошибку Код (Text): Something went wrong. If this issue persists please contact us through our help center at help.openai.com.
тогда у меня глупый вопрос что мне надобно сделать что бы она исчезла программа вроде как работает но приоткрытии страницы вот та ошибка что выше писал Но вот другая проблема программа с русским язык работает не корректно
Если ее убрать, то нет смысла в этой странице. Надо выводить ее только если она существует. Может подавить ошибку? <div><?=@$output?></div>
вот не давится ошибка все по старому(( --- Добавлено --- все разобрался заменил строку PHP: $output = cutText($_GET['text']??'', (int) ($_GET['number']??0)); --- Добавлено --- только теперь осталась проблема с русским языком с английским работает корректно
Почему? Консольный ввод возможен. Но тогда приложение надо будет из консоли и запускать, и к браузеру оно не будет иметь отношения