0

こんにちは、誰かがこの正規表現で私を助けてくれますか

ここに私の $lang_file があります:

define(words_picture,"Снимка");
define(words_amount,"бр.");
define(words_name,"Име");
define(words_price_piece,"Ед. цена");
define(words_total,"Обща цена");
define(words_del,"Изтрий");
define(words_delivery,"Доставка,но няма");

これは私のコードです:

$fh = fopen($lang_file, 'r');
$data = str_replace($rep,"",fread($fh, filesize($lang_file)));
fclose($fh); 
preg_match_all('/define\((.*?)\)/i', $data,$defines,PREG_PATTERN_ORDER);

$defines を印刷すると、次のようになります。

[0] => words_picture,"Снимка"
[1] => words_amount,"бр."
[2] => words_name,"Име"
[3] => words_price_piece,"Ед. цена"
[4] => words_total,"Обща цена"
[5] => words_del,"Изтрий"
[6] => words_delivery,"Доставка" //here is the part that is missing and i need it :-)

そのため、文字列内にコンマがあると、そこで文字列が分割され、正しい値が返されません。

4

1 に答える 1

0

(koko.*?)一致するようにしてください。それは に戻りkokoますkoko,goko。戻したい場合はkoko,goko?. それを作る(koko.*)。それは に戻りkoko,gokoますkoko,goko

これは、多くのケースに対して正規表現をテストするために使用するサイトです。

http://www.cyber-reality.com/regexy.html

あなたの編集に基づいて、私はあなたが探していると思います(koko.*). コードが他のすべてで機能する場合は、これを使用します。

preg_match_all('\(/define.*)\)/i', $data,$defines,PREG_PATTERN_ORDER);
于 2012-11-14T18:13:02.987 に答える