0

thisthisthis、および SO に関する他の 6 つの質問を読みましたpreg_matchが、まだこれを理解できません。

CodeReview の質問からこのコードを使用しようとしたところ、区切り記号preg_match()「/」が見つからないというエラーが表示されました。

誰かがそれを修正するのを手伝ってくれますか? 問題のコードは次のステートメントです。

if (preg_match($regex, $user_agent)) {

質問自体のコードの新しい編集バージョンの最後に移動し、約12行を数えることで見つけることができます(空白行は数えません)。

4

2 に答える 2

3

Code Review に投稿されたコードを見ると、$os_array に次の行があります。

'/win16'                =>  'Windows 3.11',

その行の正規表現の末尾からが欠落しているため/i、おそらくエラーが発生しています。その上の行にも がありiませんが、これは何も壊しません。

paxdiablo が示唆したように、$regex変数をループ内に出力すると、この問題がすぐに見つかるはずです。

于 2012-07-05T00:45:27.660 に答える
1

これはDebugging 101のものです。次の直後にステートメントを挿入します。

foreach ($browser_array as $regex => $value) {

と の現在の値を出力$regex$valueます。

それは(うまくいけば)それが何について不平を言っているのかを正確に示すはずです.

'/win16'これは、JohnC によってピックアップされたように、誤った が見つかった以前の配列スキャンに対しても実行する必要があります。

于 2012-07-05T00:40:59.577 に答える