3

nl2brやりたいことができなくて困っています。

JSONデータのをPHPにnl2br変更しない理由を誰かが説明できますか?\n< br />

コードは次のとおりです。

$page = file_get_contents('JSON_FEED_URL');
$page2 = nl2br($page);

HTML ページをエコー$page2し​​て表示すると、大きなテキストの壁として表示されます。

4

4 に答える 4

2

\nエコー時に(ソースの改行ではなく) sが表示されると言うので、これはおそらく、 \ns が「適切な」改行ではなくリテラルであることを意味します。これは、JSON が文字列として読み取られるためです。電話してこれを修正するjson_decode();

$page2 = nl2br(json_decode($page));

説明:
文字列

line1
line2

として保存されたJSONです

"line1\nline2"

しかし、それ\nは実際の改行ではなく、通常の文字です。JSONをデコードすることで、正しくなります。

于 2013-06-21T16:35:47.537 に答える
0

nl2brは、リテラル スラッシュの後に n が続くため、HTML では に解釈\nされませんでした。<br />

ソースでは、テキストは次のようになります。

 FRIDAY THROUGH WEDNESDAY.\n\nMORE RAIN IS

解釈されるように、ff に似たものにする必要があります。

 FRIDAY THROUGH WEDNESDAY.

 MORE RAIN IS

str_replace()を使用するか、「JSON_FEED_URL」にコンテンツを配置するときにコードを更新できる場合は、nl2brそれらのコンテンツを配置する前に追加して、問題に対処できます。

于 2013-06-21T16:20:57.083 に答える