1

私はphpでajaxを使用してハイパーリンクを出力し、ユーザーがテキストを電子メールで送信できるようにします。リンクはメールスクリプトを指しており、クエリ文字列にはメールのテキストが含まれています。リンクをクリックすると、ユーザーはテキストをメールで送信します。ただし、テキスト(ユーザーが作成したものも)に引用符が含まれている場合、この引用符はクエリ文字列に表示され、コードが壊れます。具体的には、ブラウザは、引用符に遭遇するとクエリ文字列が終了したと見なします。引用の後のテキストがページに流出します。ハイパーリンクを引用符ではなくアポストロフィで囲むこともできますが、ユーザーがテキストにアポストロフィを含めた場合も同じ問題が発生します。

json_encodeを使用してこれらの特殊文字をエスケープしようとしましたが、機能しませんでした。addlashesがあるか、str_replaceで何かをハックできるかもしれませんが、これを正しい方法で実行したいと思います。

これを行う正しい方法についての提案をありがとう。

php

go to dbase

$text = $row['text'];

echo '<a href="sendmail.php?text='.$text.'">email text</a>';

/*
say for sake of argument text is 'the dimensions of the painting are 24" x 36"'

then above link is

echo '<a href="sendmail.php?text=the dimensions of the painting are 24" x 36"">email text</a>';
 which breaks code
*/
4

1 に答える 1

2

urlencodeテキストをエンコードしてURLに入れるため、使用する必要があります。

于 2012-12-26T14:39:00.733 に答える