1

次の文字列があります"<?php jifoafj sfjifasjfoasjfifajs ReadThis(array('type' => 'button', 'value' => 35)) oisfjoijsiofsa sffas ?>"

ReadThis の中身を取得しようとしています。

これはこれまでの正規表現です。

preg_match_all('~<\?(?:php)?\s+ReadThis\(([^)]+)\).*?\?>~s',$thestring,$matches) ;

わかりましたが、取得しています

array('type' => 'button', 'value' => 35

私が欲しいのは

array('type' => 'button', 'value' => 35)

これを達成するための最良のアプローチは何ですか?これはチョムスキー階層と何か関係がありますか?

4

5 に答える 5

1

この正規表現は、この文字列の何にも一致しません。

とにかく、問題を修正するには、[^)]を次のようなドットに置き換えます。

~<\?(?:php)?\s+ReadThis\((.+)\).*?\?>~s
于 2013-05-30T22:52:26.867 に答える