$str = 'test%2B';
echo html_entity_decode($str);
我想它返回test +
我在做什麼錯?
注意:對不起,字符串不能修改。它來自外部來源,我只需要用PHP以某種方式替換%2B。
$str = 'test%2B';
echo html_entity_decode($str);
我想它返回test +
我在做什麼錯?
注意:對不起,字符串不能修改。它來自外部來源,我只需要用PHP以某種方式替換%2B。
你沒有逃脫這個空間,你應該使用urldecode
而不是html_entity_decode
。
嘗試
$str = 'test%20%2B';
echo urldecode($str); // test +
如果您希望使用html_entity_decode
,使用+
:
$str = 'test +';
echo html_entity_decode($str); // test +
編輯:如果您需要解碼,你不能改變自己的URL,urldecode
還是應該正常工作。
downvote有什麼用? – mc10 2011-12-20 19:21:39
嘗試用+
代替。在你的例子中,你使用的是URL編碼語法而不是HTML實體語法。
該字符串被編碼爲一個URL,而不是HTML實體。您需要urldecode
。
echo urldecode($str); // "test +"
HTML編碼字符串應該是這樣的:test +
,因爲沒有這些字符需要編碼的HTML。
經過測試,作品!謝謝!! – David19801 2011-12-20 19:21:30
在html a +
是+
。嘗試
$str = 'test +';
$str = "test %2B";
echo urldecode($str);
它是什麼回來? – 2011-12-20 19:15:30
它正好返回字符串,因爲它已經是 – David19801 2011-12-20 19:16:50