Sprintf — неизвестный спецификатор формата «P»Php

Кемеровские программисты php общаются здесь
Anonymous
Sprintf — неизвестный спецификатор формата «P»

Сообщение Anonymous »

Мне нужно иногда отображать текст скидки напрямую, а иногда заменять числовое значение. Когда текст будет сгенерирован, система выполнит что-то вроде «Скидка %s». При заполнении скидки оператор напишет «Скидка 10%».
У меня:

Код: Выделить всё

sprintf($text, $value . ' %')
Для сгенерированного текста число заменяется (sprintf("Скидка составляет %s", 10 . ' %')), а для набранного вручную текста sprintf("Скидка составляет 15 %" , 15 . ' %') В PHP 8.2 появляется ошибка:

Код: Выделить всё

Unknown format specifier "P"
В версии PHP7.4 не было ошибок даже с текстом, созданным вручную. Как решить ситуацию? Мне нужно, чтобы введенный вручную текст sprintf игнорировал замену (или заменял только %s) или распознавал, что это автоматически сгенерированный текст.

Подробнее здесь: https://stackoverflow.com/questions/784 ... pecifier-p

Вернуться в «Php»