1

smarty mailto 関数を使用してmailto、エンコーディングを使用してアンカー リンクを作成する方法を知っています。<img>しかし、たとえば、この関数の出力にhtml 画像タグ [ ] を挿入できるかどうか疑問に思っています。私が試してみました:

[SMARTY]
{$text = '<img src="/images/qr_code.jpg" alt="member sign up qr code">'}
{mailto address="test@example.com" encode="hex" text={$text}}

[HTML RESULT]
<a href="mailto:%74%65%73%74@%65%78%61%6d%70%6c%65.%63%6f%6d">
      &lt;img  src="/images/qr_code.jpg" 
               alt="member sign up qr code" &gt;
 </a>

私はむしろこの出力の後にいます:

 <a href="mailto:%74%65%73%74@%65%78%61%6d%70%6c%65.%63%6f%6d">
      <img src="/images/qr_code.jpg" 
           alt="member sign up qr code">
 </a>
4

1 に答える 1

1

このコードhttps://bitbucket.org/pferor/dbless/src/04b228943e39/dbless/lib/smarty/plugins/function.mailto.phpを読むと、「hex」エンコーディングを使用すると、エンコードするだけでなくアドレスとテキスト (147 行目):

$text_encode = '';
for ($x=0; $x < strlen($text); $x++) {
    $text_encode .= '&#x' . bin2hex($text[$x]).';';
}

それが問題かどうかはわかりません。

Smarty ソースを編集してもかまわない場合は、この行 (153) を変更できます。

return '<a href="'.$mailto.$address_encode.'" '.$extra.'>'.$text_encode.'</a>';

これに:

return '<a href="'.$mailto.$address_encode.'" '.$extra.'>'.$text.'</a>';

それを機能させるために。

「なし」エンコーディングを試してみると、画像が表示されますか?

于 2012-12-30T12:32:28.573 に答える