0

文字列のスペースを改行に置き換えたいと思います。

1 2 3 4

preg_replace の後:

1
2
3
4

これは私のコードです:

$m_cart = preg_replace('/\s/', '\n', $session->get('cart'));
return $this->render('FooSiteBundle:Site:bar.html.twig', array('cart' => $m_cart));

そして、これは小枝での私の見解です:

{{ cart }}

結果:

\n1\n2\n3\n4

しかし、私はしたいです

1
2
3
4
4

3 に答える 3

4

改行エスケープ シーケンス\nは、単一引用符で区切られた文字列では解釈されません (ポイントとして、/[no]/ エスケープ シーケンスは解釈されます)。

簡単な答えは、 に変更'\n'すること"\n"です。

PHP の文字列区切り文字とその違いについて詳しくお読みください。

于 2012-08-09T19:46:18.090 に答える
3

役に立ちますかnl2br

http://twig.sensiolabs.org/doc/filters/nl2br.html

だから試してください:

{{ cart|nl2br }}
于 2016-08-31T14:04:59.313 に答える
1

に変更'\n'"\n"ます。つまり、二重引用符を追加します。PHP はそれらを異なる方法で解析し、二重引用符を使用すると、 のような特殊文字を使用できます\n

于 2012-08-09T19:44:32.883 に答える