0

わかりました、私はフラットファイルのシャウトボックスに取り組んでおり、フラットファイルからユーザー名を取得して変数にする方法を実現しようとしているので、それを使用してデータベースを呼び出してユーザーが管理者であるかどうかを確認できます。シャウトボックスから直接ユーザーを削除/禁止できます。

これは、フラットファイルの行の例です

<div><i><div class='date'>12/08/2012 18:56 pm&nbsp;&nbsp;</div></i> <div class='groupAdmin'><b>Admin</b></div><b><a href='javascript:;' onclick="shout_insert('@kira423- ')">kira423</a>:</b> hiya :D</div>

したがってkira423、この場合のユーザー名を取得して、次のような変数を作成し、$shoutnameそれを等しくしたいkira423

私はグーグル検索を試み、ここを見回しましたが、答えを見つけることができなかったので、ここで自分の質問でこれを行う方法について洞察を得られることを願っています.

ありがとう、

キラ

4

2 に答える 2

1

フラットファイルの各行を HTML として解析する必要があると思います (単純な HTML タグが使用されています)。これは、PHP の HTML コードの解析(または、Google で「php parse HTML」と入力) で説明されているとおりです。次に、配列などからユーザー名 (kira123) にアクセスできます。

PS HTML は、表示するメッセージを保存する最良の方法ではありません。CSV でさえ、"kira123;date;some text" のほうが読みやすく、各部分にアクセスしやすいようです。表示するときは、標準のデコレータ パターンを使用します。

于 2012-12-08T18:40:19.337 に答える
1

preg_match次のようなタスクに使用する必要があります。

preg_match_all('|<div class=\'date\'>(?P<date>.*?)&nbsp;.*<a.*>(?P<user>.*)</a>|i', $data, $matches);
var_dump($matches);

すべての配列要素の相互作用:

foreach ($matches['user'] as $key => $user) {
    var_dump($user);
}
于 2012-12-08T18:40:41.760 に答える