У меня есть строка $s="one\rtwo\rthree\rfour\rfive"
, и когда я делаю print $s
Я ожидаю увидеть five
только потому, что linefeed сбрасывает строку.PHP: символ r игнорируется
Вместо этого я, кажется, вижу one two three four five
.
Что происходит?
вы пытаетесь отобразить это в веб-браузере? –
Да - я, по сути, запускаю скрипт оболочки через PHP, а сценарий оболочки выводит процентные доли прогресса («1% \ r2% \ r3% и т. Д.»). Функция 'print' запрашивается всякий раз, когда' fgets' обнаруживает новую строку, но также интерпретирует '\ r' как новую строку. В любом случае, чтобы переопределить это? – tetris11
'print (end (explode (" \ r ", $ s)));' будет делать то, о чем вы просите. EDIT: Я только что видел ваш предыдущий комментарий об этом, находясь в оболочке. Это не то, что вы хотите. Он напечатает несколько строк. –