php - 如何在不关心php中单词之间的空格的情况下替换文本
问题描述
我想知道,如何在不影响进程的空格的情况下用其他内容替换文本。
( "Hi, I'm here!" Will be replaced with "bye"
)
像这样( Value ==> ReplacedValue
):
Hi,I'mhere! ==> bye
Hi, I'm here! ==> bye
Hi, I'm here! ==> bye
Hi , I'm here! ==> bye
现在使用str_ireplace
( str_ireplace("TheOriginalWord", "TheReplacement", $data)
) 不会做我想要的,它会这样做:
Hi, I'm here! ==> bye
Hi, I'm here! ==> Hi, I'm here!
Hi , I'm here! ==> Hi , I'm here!
解决方案
使用正则表达式。
preg_replace('/Hi\s*,\s*I\'m\s*here!/i', "bye", $data);
\s*
匹配零个或多个空格。如果您只想匹配一个或多个空格,请\s+
改用。
推荐阅读
- javascript - 需要帮助在 java 脚本中查找最大值(没有 max 方法)
- amazon-mws - 亚马逊产品 API - 错误!AMS ScratchPad 上的 TooManyRequests
- java - Java - 从旧列表创建新列表,修改新列表时修改旧列表
- php - 在 PHP 中链接两个字段
- r - 在 r 中为一系列数字编写虚拟变量时遇到问题
- sql - 在 bigquery 中转换反向域名表示法
- uwp - 如何诊断 UWP 原生编译器失败的原因?
- node.js - Angular 11,Electron 11。找不到用于 child_process、fs、active-win、sharp、screenshot-desktop 的模块
- c# - c# Asp.Net Core Serilog RequestLoggingMiddleware
- php - 带有 AND、WHERE NOT 和 OR 的 SQL 无法正确过滤