Цифры в конце вывода

111
24 марта 2022, 09:30

Скрипт отправляет запрос через AJAXи записывает результат в буфер обмена.

JS:

<script type="text/javascript">
function setclipboard (id) {
    console.log(id);
    $.ajax({
        url: 'getfromdb.php',
        type: 'POST',
        data: {id: id}
    }).done(function(result){
        var newresult = result.replace(/rus/g, 'ru');
        navigator.clipboard.writeText(newresult);
    });
   }
</script>

PHP:

<?php
$id = $_POST['id'];
require_once 'database.php';
$send = mysqli_connect($host, $user, $password, $db_name) or die("Error! " . mysqli_error($send));
$getid = 'SELECT rus FROM db WHERE id = "'.$id.'"';
$res = mysqli_query($send, $getid) or die("Error! " . mysqli_error($send));
$vres = mysqli_fetch_assoc($res);
$name = $vres['rus'];
echo(printf("%s", $name));
?>

Всё работает нормально, но при копировании в буфер в конце строки появляется число с количеством символов.

Допустим, должно выводить : ru.ru.ru.123.321.ru.12.asd.qwe.qwe.ru., а выводит ru.ru.ru.123.321.ru.12.asd.qwe.qwe.ru.38 . В чем проблема? На каком этапе эти цифры появляются? Никак не могу от них избавиться.

Answer 1

Взгляните в документацию, что возвращает функция printf? :-) Она выводит отформатированную строку, и возвращает длину этой строки. Эту длину вы выводите с помощью echo. Уберите echo длины строки и число пропадёт. Или используйте функцию sprintf.

READ ALSO
Подскажите, пожалуйста, расшифровку GNU

Подскажите, пожалуйста, расшифровку GNU

Я знаю, что есть такая "GNU's not Unix", но что означает буква G?

197
Middleware внутри другого Middleware в ExpressJS

Middleware внутри другого Middleware в ExpressJS

Пишу свой middleware для ExpressJS и столкнулся с задачей, где нужно использовать кукиДля этого существует отдельный middleware - cookie-parser

206
Как проверить значение value с переданным значением

Как проверить значение value с переданным значением

У меня есть данный кусок кодаУ меня есть 9 input'ов, мне нужно, чтобы при submit'e происходила проверка, если value = переданному значению datavalue, то тогда...

181