> <?php
> $test = "111[math]abc[/math]222";
> $test2 = preg_replace(/\[math\](.*?)\[\/math\]/gi, "\\($1\\)", $test);
> echo "<pre>" . $test2 . "</pre>";
> ?>
> ```
>
> mam takie coś. Co robię źle? Uruchomienie daje błąd 500.
> Tutaj działa ok https://regex101.com/r/EvQqus/1
No oczywiście błędem jest ten zapis `/\[math\](.*?)\[\/math\]/gi`, bo nie ma czegoś takiego w PHP. Jeśli to uruchomisz, to dostaniesz ParseError `Uncaught ParseError: syntax error, unexpected '/'`, który skończy się fatal errorem, który to ubije Twój proces PHP, który to spowoduje 500tkę.
No i w PHP nie ma flagi `g`.
PS: A swoją drogą zamiast `"\\($1\\)"`, mógłbyś normalnie napisać `'\($1\)'`.