0

私はうまく機能する次のものを持っていますが、今私がやりたいのは、ユーザーが入力した場合に[MAP]MAPという単語を取得したいということです

また、ユーザーが次のようなものを送信できるようにしたい[MAP = array("LOCATION"=>"Melbourne Australia")]

PHPがマップを配列にするため、後で関数に送信できます

私は現在、次のことを行っています

$map = strpos($stringtocheck, "[MAP]");

しかし、ここでの問題は、[BOLD]、[INSERT] などのように内部が異なる多数の [] がある場合、それが見つからず、独自の $ に入れられず、配列が何であるかを知る必要があることも意味します。フィールドまたはそのようなもの

4

1 に答える 1

2

単純な正規表現は、角括弧から情報を引き出します。

$s = 'Yo be [diggin] [my leet] scriptzors!';
$matches = null;
preg_match_all('/\[(.*?)\]/', $s, $matches);
var_dump($matches[1]);

結果:

array(2) {
  [0]=>
  string(6) "diggin"
  [1]=>
  string(7) "my leet"
}

例: http://codepad.viper-7.com/erBpuB

于 2012-09-23T06:28:12.347 に答える