0

次のようなエンコードされたフィールドがいくつかあります。

317 + NALON ++ RD%2C%2BGananoque%2C%2BOntario%2C%2BCanada

簡単なのは、「+」をスペースに置き換えることです。

私の課題は、「%2C」または「%2B」をスペースに置き換えることです。

「%」の後のテキストは異なる場合がありますが、常に2文字になります。

str_replace( "%**"、 ""、urlencode($ string))を使用してみましたが、うまくいきませんでした。

何か案は?

4

1 に答える 1

0

str_replace()ワイルドカードは扱いません。代わりに正規表現を使用できます (すべての %** をスペースに変更したいことが確実である限り):

preg_replace("/(%..|\+)+/", ' ', $string);

これにより、$string(すでに URL エンコードされていると思われます) が取得され、すべての「+」と「%**」がスペースに置き換えられます。シーケンス '%2C%2B' を 2 つのスペース (2 つの一致) に置き換えることに注意してください

于 2012-07-20T16:58:14.573 に答える