私は自分のウェブサイトで Facebook 共有リンクを使用して、Facebook で記事を公開しています。
一部のリンクでは機能し、他のリンクでは機能しません。リンクを介して渡されるタイトルとテキストはフランス語 (多くの引用符と特殊文字) であり、リンクを扱うページは UTF8 です。
コンテンツを urlencode してリンクを作成する前に「mysql_real_escape_string」を使用するだけで、すべての FB リンクを機能させることに成功しました。
なぜ「mysql_real_escape_string」なのですか?
「htmlentities」、「htmlspecialchars」、および「addslashes」が機能しなかったため、これはテストでした。明らかな欠点は、「mysql_real_escape_string」関数はデータベースとは関係がないため、そこでは何もしないことです。実際、この機能は「ユーザーに対して拒否されました...」というエラーメッセージが表示されます。
とにかく、私はこの機能を使用する予定はありませんが、「addslashes」は機能しないのに、Facebook 共有リンクが 100% 機能するというのは奇妙なことです。私は、addslashes は "mysql_real_escape_string" の純粋な PHP バージョンだと思っていましたが、何か違うところがあります。
私の問題に対する純粋なPHP代替ソリューションはありますか?