J'ai besoin de l'une de mes actions de contrôleur pour retourner une liste de noms, sur le nom par ligne, en texte brut. La raison en est que cela peut être consommé par le plugin JQuery autocomplete qui attend ce format. Malheureusement, lorsque la page s'affiche, les caractères \n
ne seront pas rendus comme des retours à la ligne.Comment obtenir CakePHP pour afficher du texte en clair avec des sauts de ligne?
Contrôleur
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');
}
}
Voir
foreach($users as $user) {
echo $user['User']['name'] . '\n';
}
Résultat
PREMIER UTILISATEUR \ USER Nsecond \ Nthird USER \ n
Pour autant que je sache, la vue est être retourné sous forme de texte, cependant, le \n
est rendu à la lettre. Comment puis-je empêcher cela?
Mon front me fait mal de le gifler si dur. Merci, j'ai complètement oublié la différence entre les chaînes littérales et interprétées et les traitait comme javascript. – Soviut
Si vous avez besoin de saisir du texte brut au format HTML et que les sauts de ligne apparaissent, enveloppez votre variable dans un appel nl2br (...). PHP intégré. –