Я хочу добавить переменную в preg_replace.
для Ex: -
В этой строке кода, я хочу добавить $ text вместо "sometext"
$text = "sometext";
$lineOfValue = preg_replace("/.*sometext[\"', ]*/", "", $line);
Может кто-нибудь мне помочь?
В регулярном выражении символ $ обозначает конец обрабатываемой строки, поэтому включение переменной в регулярное выражение, предложенное @Rizier123, не будет работать.
Вместо этого переменная должна быть конкатенирована в регулярное выражение следующим образом, чтобы избежать неверного истолкования $:
$text = 'sometext';
$lineOfValue = preg_replace("/.*" . $text . "[\"', ]*/", "", $line);
Кроме того, если ваша текстовая переменная $ может содержать любой символ, вы должны использовать preg_quote(), чтобы строка была безопасной для использования в регулярном выражении:
$text = 'sometext';
$lineOfValue = preg_replace("/.*" . preg_quote($text, '/') . "[\"', ]*/", "", $line);
$lineOfValue = preg_replace("/.*$text[\"', ]*/", "", $line);
Где проблема ?!