とhtmlentities
のスティングがあると仮定すると、
"a s d d"
になります。デコードされた破損しないスペース(nbsp)を置き換える方法
エンティティにエンコードすることなく(preg_replaceを使用して)置き換えるにはどうすればいいですか?
preg_replace('/[\xa0]/', '', $string);
を試しましたが、動作しません。私はそれらの特殊文字を私の文字列から取り除こうとしているのですが、私はそれらを必要としないので
regexp以外の可能性はありますか?
編集 文字列は、私が解析したい:機能付きhttp://pastebin.com/raw/7eNT9sZr
i「はドン後でimplode("</p><p>", explode("[##]", $text))
私はエンティティをエンコードする可能性があるので
私の質問は、まさにこれを行うには、「どのように」(、削除されていないエンティティのpreg_replace('/[\r\n]+/', "[##]", $text)
エンティティを必要とし、デコードする)。しかし、単にstr_replaceまたはpreg_replaceでそれらを削除する方法。
'htmlentities'はxssに対する予防です。ブラウザーでレンダリングしたい場合、&nbspスペースはスペースとしてのみ評価されます。そうでない場合、関数の使用はありません – georoot
スペースまたは ' 'を置き換えますか? – Joshua
@georoot htmlentitiesは悪いHTML出力を防ぎます(つまり、データが出されるのを保証します)。XSSは悪意を持って悪質なデータを作成しただけです。 – user2864740