У меня есть несколько констант, определенных в PHP, и я считаю их приватными и не должны отображаться в браузере.
const PRIV_API_KEY = '1234-5678-8426';
const PRIV_ACCESS_TOKEN = 'fnse0segh-23hfoeghl-fseuhosz';
...
Если у меня есть такая строка
$message = 'Lorem ipsum dolor sit ammet 1234-5678-8426 bibendum id et dolor.';
Где 1234-5678-8426
может быть любой из констант, которые я упомянул выше. Я хотел бы заменить все символы, кроме тире (-
), если они соответствуют какой-либо из частных констант.
То, чего я хочу достичь, это что-то вроде:
Lorem ipsum dolor sit ammet ****-****-**** bibendum id et dolor.
До сих пор я дошел до того, что придумал регулярное выражение для замены не-тире символов.
$message = preg_replace('/[^-]/', '*', $message);
Проблема с моим текущим решением состоит в том, что оно заменяет ВСЕ не-тире, даже если они не соответствуют ни одной из частных констант.