HTMLフォームのテキストボックスなどに入力された文字列に「'」["」「¥」などのPHP固有の特殊文字が含まれていると、受け取ったデータには、それらの文字の前に勝手に「¥」マークが付けられて(エスケープされて)います。このようなデータの受け取りに際して、エスケープされた文字列を元に戻すにはstripcslashes()関数を使います。
テキストボックスに「'」「"」「¥」などを含めたテキストを入力して「送信」ボタンをクリックします。
<?php header("Content-type: text/html; charset=utf-8"); if(isset($_POST["btnExec"])){ //受け取ったデータをそのまま表示 echo $_POST["inputdata"] . "<br><br>"; //文字列から「¥」マークを取り除いて表示 echo stripcslashes($_POST["inputdata"]) . "<br><br>"; } ?> <!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title></title> </head> <body> テキストボックスに値を入力して「送信」ボタンをクリックしてください。 <form action="<?=$_SERVER["PHP_SELF"]?>" method="POST"> <input type="text" size="90" name="inputdata"> <input type="submit" name="btnExec" value="送信"> </form> </body> </html>