Smartyでの置換について質問です。


改行を含む文字列(あういえ[改行]おかき)を文字列としての\nに変換して(あいうえ\nおかき)にしたいと考えています。

{$title|regex_replace:'/\n/':'\\n'}
としてみましたが、うまくいきません。

どうすればいいのでしょうか?
Smartyでの置換はあまりよくないのはわかりますが、プログラムの変更が大変なので、何とかSmarty部分で対応できればと考えています。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/06/13 15:36:12
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:t_shiono No.1

回答回数256ベストアンサー獲得回数22

ポイント60pt

手元の環境では、次のような記述でdingdingさんの期待通りに動きます。

PHP

$title = <<< MSG
あいう
えお
MSG;
$smarty->assign('title', "$title");

テンプレート

{$title|regex_replace:'/\n/':'\\n'}

推測ですが、例えば改行コードが「\r」になってたりしませんか?

id:dingding

改行コードはありえますね。

試し見てます。

ありがとうございます。

2007/06/13 14:00:23

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません