Как заставить CakePHP отображать простой текст с переводами строки?

Мне нужно одно из моих действий контроллера, чтобы вернуть список имен, по имени в строке, в виде простого текста. Причина этого заключается в том, что он может использоваться плагином автозаполнения JQuery, который ожидает этот формат. К сожалению, когда страница отображается, \n символы не будут отображаться как новые строки.

контроллер

function UserController extends AppController {
    var $components = array('RequestHandler');

    function users_ajax() {
        $users = $this->User->find('all');
        $this->set('users', $users);

        $this->layout = false;
        Configure::write('debug', 0);
        $this->RequestHandler->respondAs('text');
    }
}

Посмотреть

foreach($users as $user) {
    echo $user['User']['name'] . '\n';
}

Результат

ПЕРВЫЙ ПОЛЬЗОВАТЕЛЬ \n ВТОРОЙ ПОЛЬЗОВАТЕЛЬ \n ВТОРОЙ ПОЛЬЗОВАТЕЛЬ \n

Насколько я могу судить, представление возвращается в виде простого текста, однако \n переводится буквально. Как я могу предотвратить это?

1 ответ

Решение

Это не торт, это просто PHP.:)

Используя одинарные кавычки, символы между ними обрабатываются как строки, а двойные кавычки интерпретируют \n для новой строки. ТАК в вашем случае:

foreach($users as $user) {
    echo $user['User']['name'] . "\n";
}

должен сделать магию:)

Другие вопросы по тегам