0

[x=123] のようなタグを含む非常に単純なマークアップ言語を PHP で作成しようとしています。そのタグを照合して x の値のみを抽出できるようにする必要があります。

答えには正規表現が含まれていると思いますが、間違っているかもしれません。

したがって、文字列がある場合:

$str = "F9F[x=]]^$^$[x=123]#3j3E]]#J";

一致する正規表現:

/^\[x=.+\]$/

一致する文字列の ".+" 部分のみを変数に取得するにはどうすればよいでしょうか?

4

2 に答える 2

0

次のコードが機能するはずです。

$str = "F9F[x=]]^$^$[x=123]#3j3E]]#J";
if (preg_match('~\[x=(?<valX>\d+)\]~', $str, $match))
   echo $match['valX'] . "\n";

出力:

123
于 2012-10-30T04:41:19.070 に答える
0

preg_matchを使用して、正規表現の文字列を検索できます。

使用方法の詳細 (およびいくつかの例) については、http ://www.php.net/manual/en/function.preg-match.php のドキュメントを参照してください。preg_grepも参照してください。

于 2012-10-30T04:32:38.617 に答える