私が持っている:これはなぜプラス記号を作っていないのですか?
$str = 'test%2B';
echo html_entity_decode($str);
が、私はそれが私が間違って何をやっているtest +
返すようにしたいですか?
注:文字列は変更できません。それは外部ソースからのもので、%2BをPHPで+記号で置き換えるだけです。
私が持っている:これはなぜプラス記号を作っていないのですか?
$str = 'test%2B';
echo html_entity_decode($str);
が、私はそれが私が間違って何をやっているtest +
返すようにしたいですか?
注:文字列は変更できません。それは外部ソースからのもので、%2BをPHPで+記号で置き換えるだけです。
スペースをエスケープしていないため、html_entity_decode
の代わりにurldecode
を使用する必要があります。あなたがhtml_entity_decode
を使用したい場合は
が
$str = 'test%20%2B';
echo urldecode($str); // test +
を試してみて、+
を使用します。
$str = 'test +';
echo html_entity_decode($str); // test +
はEDIT:あなたは自分自身を変更することはできませんURLをデコードする必要がある場合は、urldecode
はまだ正常に動作する必要があります。
downvoteとは何ですか? – mc10
代わりに+
を試してください。あなたの例では、HTMLエンティティ構文ではなくURLエンコーディング構文を使用しています。
この文字列はURL用にエンコードされ、HTMLエンティティ用にはエンコードされません。
urldecode
が必要です。これらの文字のいずれもHTMLエンコードを必要としないので、test +
:
echo urldecode($str); // "test +"
HTMLエンコードされた文字列は次のようになります。
テスト済みです。ありがとう!! – David19801
htmlで+
は+
です。それが何を返している
$str = 'test +';
$str = "test %2B";
echo urldecode($str);
試してみてください? –
文字列をそのまま返しています – David19801