You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP preg_replace移除&符号?及移除空格与&符号的方法

嘿,我来帮你搞定这两个PHP正则相关的问题!

问题1:如何使用PHP的preg_replace函数移除&符号?

其实很简单!你只需要用preg_replace匹配&这个字符,然后把它替换成空字符串就行。举个实际例子:

$original = "I love PHP & regex!";
$processed = preg_replace('/&/', '', $original);
echo $processed; // 输出: I love PHP  regex!

如果你的字符串里还有HTML实体形式的&(也就是转义后的&),上面的正则只能替换单独的&,要是想连&一起处理,咱们看第二个问题的解决方案~

问题2:移除字符串内所有空格与&符号(含HTML实体)

看你的示例字符串里是&而不是单纯的&,之前的代码只处理了空格,没碰这个HTML实体,自然达不到预期效果。咱们可以把空格和&(或者所有&相关的形式)放到同一个正则匹配里,用|表示“或者”的逻辑,这样就能一次性替换掉所有目标内容了。

直接上能满足你需求的代码:

$string = "this is my string & this also";
// 匹配任意数量的空格,或者HTML实体& amp;
$cleanString = preg_replace('/\s+|&/', '', $string);
echo $cleanString; // 完美输出: thisismystringthisalso

如果你担心字符串里可能同时存在单独的&和&,可以把正则改成更通用的版本,两种情况都能覆盖:

$cleanString = preg_replace('/\s+|&(amp;)?/', '', $string);

简单解释下这个正则:

  • \s+:匹配一个或多个空白字符(空格、制表符这类都包含在内)
  • |:逻辑“或”,用来分隔两个不同的匹配规则
  • &(amp;)?:匹配&,后面跟着可选的amp;(?表示前面的分组是可选的),这样不管是单独的&还是转义后的&都会被匹配替换

这样处理后,就能得到你想要的无空格、无&相关内容的字符串啦~

内容的提问来源于stack exchange,提问作者JGeer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:51:55