2012-02-18 3 views
0

ユーザーエージェントの配列を持つキャッシュファイルがあります。これらのユーザーエージェントを正しくフォーマットする

私は、各ユーザエージェントをプリントアウトすると、これは、それは次のようになります。これらのユーザーエージェントがエスケープされているよう

@^Mozilla/5\.0 \(.*Linux i686.*\) AppleWebKit/.* \(KHTML, like Gecko\).*Chrome/6\..*Safari/.*[email protected] 
@^Mozilla/5\.0 \(X11; U; Linux.*; .*; rv\:1\.9\..*\) Gecko/.* Firefox/.* Maemo Browser 1\.7\..*[email protected] 
@^Mozilla/5\.0 \(.*Linux i686.*\) AppleWebKit/.* \(KHTML, like Gecko\).*Chrome/7\..*Safari/.*[email protected] 
@^Mozilla/5\.0 \(.*Linux i686.*\) AppleWebKit/.* \(KHTML, like Gecko\).*Chrome/8\..*Safari/.*[email protected] 
@^Mozilla/5\.0 \(.*Linux i686.*\) AppleWebKit/.* \(KHTML, like Gecko\) .*Iron/6\..* Safari/.*[email protected] 
@^Mozilla/5\.0 \(.*Linux i686.*\) AppleWebKit/.* \(KHTML, like Gecko\) .*Iron/7\..* Safari/.*[email protected] 
@^Mozilla/5\.0 \(.*Linux i686.*\) AppleWebKit/.* \(KHTML, like Gecko\).*Chrome/9\..*Safari/.*[email protected] 

ect ect.... 

今では見えるので、私はstripslashes()それらをしました。

私もここ(@^.*[email protected])を、いくつかの無効な文字を気づいたので、私は何もstr_replaced()それらをしました。

そして最終結果:

Mozilla/5.0 (.Linux i686.) AppleWebKit/. (KHTML, like Gecko).Chrome/6..Safari/ 
Mozilla/5.0 (X11; U; Linux.; .; rv:1.9..) Gecko/. Firefox/. Maemo Browser 1.7. 
Mozilla/5.0 (.Linux i686.) AppleWebKit/. (KHTML, like Gecko).Chrome/7..Safari/ 
Mozilla/5.0 (.Linux i686.) AppleWebKit/. (KHTML, like Gecko).Chrome/8..Safari/ 
Mozilla/5.0 (.Linux i686.) AppleWebKit/. (KHTML, like Gecko) .Iron/6.. Safari/ 
Mozilla/5.0 (.Linux i686.) AppleWebKit/. (KHTML, like Gecko) .Iron/7.. Safari/ 
Mozilla/5.0 (.Linux i686.) AppleWebKit/. (KHTML, like Gecko).Chrome/9..Safari/ 

私は(何十万ものすでにフル)データベースにこれらのユーザーエージェントを挿入する計画だ、と私は、彼らはいくつかにまだ無効です心配しています私が気づいていない方法。

私はDBにこれらを挿入しませんし、それらが無効であれば、私は、全体のDBを削除する必要があり、すべてやり直すでしょう...

だから私は、任意のリスクを取る必要はありません。 ..

あなたはこれらのユーザーエージェント文字列に間違った点がありますか?

:)

+0

Chrome UA文字列のリスト:http://www.useragentstring.com/pages/Chrome/ – hamczu

+0

これはすべてユーザーエージェントの正規表現です。私は、それらのすべてが一度に複数の「本当の」エージェントをカバーしていると仮定します。あなたが達成したいことはわかりませんが、 "これをユーザーエージェントとして保存する"というのは、あなたが望むものではないと思います。 – KingCrunch

答えて

0

これらは、無効な文字regular expressionsではありません。ユーザーエージェント文字列と文字列を単に一致させると、一致しません。それらは正規表現としてマッチさせるためのものです。

+0

私は参照してください。だから私は元のユーザーの文字列を正規表現のいずれかと一致させる方法はありますか?それとも普通の文字列に変換するのですか? (可能であれば)..ありがとう;) –

+0

組み合わせが無限であるため、単純な文字列に変換することはできません。 ['preg_match()'](http://php.net/preg_match)を見てください。 – rid

+0

'preg_match'は' original'文字列と正規表現をマッチさせますか? –

関連する問題