gpt4 book ai didi

php - preg_replace $变量为字符串

转载 作者:可可西里 更新时间:2023-11-01 00:18:32 24 4
gpt4 key购买 nike

我发现了几个关于这个主题的问题,但没有适合我的目的的解决方案:

$name = 'Adam';
$line = 'This is (Adam) Eve!';
$newline = preg_replace('/\(|\)/|\$name/','',$line);

我的输出应该是This is Eve...知道我的代码有什么问题吗?感谢您的帮助!

最佳答案

single quoted PHP string literals , 变量不展开。此外,由于 $ 被转义,它被匹配为文字字符。 \$name 匹配 $name 子字符串,而不是 Adam。此外, | 之前的 / 破坏了整个模式,过早地结束了它。

也许,你想用

$name = 'Adam';
$line = 'This is (Adam) Eve!';
$newline = preg_replace("/\(|\)|$name/",'',$line);
echo $newline;

参见 PHP demo .要去除 Eve 之前的空格,请在模式中的 $name 之前添加 \s* 以匹配 0+ 个空白字符。

另一种选择:

preg_replace("/\s*\($name\)/",'','This is (Adam) Eve!')

参见 another PHP demo .

在这里,

  • \s* - 匹配 0+ 个空白字符
  • \( - 一个 ( 字符
  • $name - $name 变量中的文本
  • \) - 文字 ) 字符。

关于php - preg_replace $变量为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48500566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com