- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:実体参照に置き換える方法について)
実体参照に置き換える方法とは?
このQ&Aのポイント
- 実体参照に置き換える方法について
- 下記のソースをブラウザで閲覧した所、真っ白な画面が表示されてしまいました。'テスト'の'を消した所、ブラウザにテスト"とリンクつきで表示されましたが、'テスト"と表示する方法が分かりませんでした。
- $testに入れている中身はデータベースから取得しており、ここの文言を直接触る事は出来ません。データベースの中身の'を実体参照に置き換えた上で、$testに格納できれば大丈夫かと思ったのですが、どうすれば出来るかわからなかったため、アドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>$testに入れている文言は直接触る事が出来ません >(何が入っているか自体分かりません)。 命題自体がおかしいですね DBから$testを自動で得ているなら、受け取った時点でエスケープされた データになっています。抽出すればそのままつかえるはずです 逆に自動で得たデータにシングルクォーテーションがはいっていないなら DBに投入された時点でクォーテーションをはずされている可能性が高いです。 いずれにしろ、どういうデータ管理をしているかわからないので 明確な回答はできませんが、仕様が間違っているとしか・・・
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
エスケープするだけでは? <?PHP $test = '<a href="http://hoge.com/">\'テスト"</a>'; $url = 'http://hoge.com/'; echo str_replace($url, '/', $test); ?>
質問者
お礼
ご回答ありがとうございます。 確かにエスケープできればよいと思いますが、$testに入れている文言は直接触る事が出来ません(何が入っているか自体分かりません)。 その為、「'<a href="http://hoge.com/">'テスト"</a>'」というデータがある場合、何らかの方法で「'<a href="http://hoge.com/">\'テスト"</a>'」という変換ができれば実体参照に置き換える必要はないと思いますが、その何らかの方法が分かりませんでした。 以上、よろしくお願いします。
お礼
ご回答ありがとうございます。 その後調べた所、PHP コード内でデータを使えるようにする記述を発見し、それを付加したところ、No.1のご回答のようにエスケープされ、意図した動作をする事を確認いたしました。 http://www.movabletype.jp/documentation/appendices/modifiers/encode_php.html このたびはどうもありがとうございました。 以上、よろしくお願いします。