$details = "text...[book=123]...text...";
$details = preg_replace_callback(
"/\[book=(.+?)\]/smi",
function ($m) {
global $skip_books;
$book = $m[1]; // 123
$feed = $m[2]; // 456
return "<div id=\"view_book_".$book."_".$feed."\"></div>";
},
$details
);
このパターンでは、$ book($ m [1])しか取得できません。
"/\[book=(.+?)\]/smi"`
しかし、$ feed($ m [2])も取得したいので、この[book=123_456]に置き換えます。
アンダースコアの後に「456」($ m [2])を取得するにはどうすればよいですか?
"/\[book=(.+?)_(.+?)\]/smi" ???