1

私の質問は、タイトル自体から明らかだと思います。ejs テンプレートでのレンダリング中に URL 文字列を href 属性にリンクするにはどうすればよいですか? このタスク用のヘルパーはありますか? URL を href 属性と一緒に文字列に変換してからテンプレートに送信することを考えましたが、レンダリング中にエスケープされると思います。

ビューに ejs を使用していますが、このリンク機能が他にある場合は、テンプレート エンジンを変更したいと思います。

アップデート:

これがrender関数だとします

return res.render("polo", {
                    title: "Posters",
                    has_next:false,
                    posters:posters,
                    offset:0
                });

そして、これがビューです

<% for (var i=0;i<posters.length;i++) { %>

                <div id="<%=posters[i]._id %>" class="newstitle">

                <p>
                <%=posters[i].body %>
            </p>
            </div>

<% }; %>

posters[1].body="Hello this is a good site. www.google.com" .同様に、poster 配列の他のすべての要素は、いくつかの URL を含むテキストです。posters[i].body がレンダリングされるときに、上記の例の「google.com」のような URL をリンクする必要があります。URL が poster.body 内の正確な場所がわからないため、<%= url %> を使用できません。

4

1 に答える 1

0

エスケープせずに href 属性に出力したい場合は、使用でき、<a href="<%- yourvar %>">the link.</a>エスケープしません。

(等号の代わりにハイフンを使用していることに注意してください。)

編集

OPは、URLが定義されているときにのみリンクを表示する方法を尋ねました。

<% if (typeof yourvar != 'undefined' && yourvar !== null) { %>
  <a href="<%- yourvar %>">the link</a>
<% } %>
于 2012-05-23T14:09:38.153 に答える