- str_ireplace: documentation ( source)
- preg_match_all: documentation ( source)
<?php
$code = "[gallery-1] <p>Test...test...test...</p> [gallery-2]";
preg_match_all("/\[gallery-(\d+)\]/", $code, $matches);
$galleries = array();
foreach ($matches[1] as $id) {
$galleries[$id] = 'x' . $id; // Somehow load a gallery basing on id;
}
foreach ($galleries as $id => $sub) {
$code = str_ireplace("[gallery-" . $id . "]", $sub, $code);
}
echo $code;