以下を実行すると:
$MATH_REGEX = '/(?=(?<!\\)\$).(.+?)(?<!\\)\$/';
preg_replace_callback($MATH_REGEX, function ($match) {
$latex_code = $match[0];
return lx($latex_code); //lx is defined elsewhere
}, "Test string $a=b$ .");
私はこれを得る:
$ php test.php PHP 警告: preg_replace_callback(): コンパイルに失敗しました: 行 26 の /home/sbird/public_html/faith/lib/view.php のオフセット 26 に ) がありません
私の正規表現の何が問題になっていますか?
編集:
$ php --バージョン PHP 5.3.2-1ubuntu4.15 with Suhosin-Patch (cli) (ビルド: 2012 年 5 月 4 日 00:38:52) Copyright (c) 1997-2009 PHP グループ Zend Engine v2.3.0、Copyright (c) 1998-2010 Zend Technologies