2

我需要我的控制器操作之一以纯文本形式返回名称列表,每行名称。这样做的原因是它可以被期望这种格式的 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字面意思呈现的。我怎样才能防止这种情况?

4

1 回答 1

7

它不是蛋糕,它只是 PHP。:)

使用单引号,它们之间的字符被威胁为字符串,而双引号将 \n 解释为新行。所以在你的情况下:

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

应该做魔术:)

于 2010-08-05T19:53:27.683 回答