PHP - 搜索字符串中的特定单词数组并与可选的 + 或 - 匹配

2024-04-27

我需要在字符串中搜索特定单词并将匹配结果作为变量。我在数组中有一个特定的单词列表:

$names = array ("Blue", "Gold", "White", "Purple", "Green", "Teal", "Purple", "Red");

$drag = "Glowing looks to be +Blue.";

$match = "+Blue";

echo $match

+Blue

我需要做的是搜索$drag$names并找到与选项匹配的内容+ or -性格和拥有$match成为结果。


通过将数组的项与|,并添加一个可选的[-+]在开始时:

$names = array ("Blue", "Gold", "White", "Purple", "Green", "Teal", "Purple", "Red");

$drag = "Glowing looks to be +Blue.";

$pattern = '/[-+]?(' . join($names, '|') . ')/';

$matches = array();

preg_match($pattern, $drag, $matches);

$matches = $matches[0];

var_dump($matches);

Output:

string(5) "+Blue"

如果你想确保你只匹配+Blue并不是+Bluebell,您可以添加单词边界匹配,\b,到正则表达式的开头/结尾。

如果您想查找所有单词的所有实例,请使用preg_match_all反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP - 搜索字符串中的特定单词数组并与可选的 + 或 - 匹配 的相关文章

  • 整数的十进制表示形式中的分隔数字

    例如 我想将用户输入作为整数输入 45697 并将前两位数字存储在数组 向量或其他内容中 例如 4 5 6 9 7 这样我就可以使用一些函数调用来检查前两个值 4 5 并对它们进行计算 问题 我不知道如何存储恢复前两个值 有没有简单的函数调
  • 防止刷新时提交双重表单

    我有一个简单的问题 我知道当用户使用 Post Redirect Get 模式重新加载页面时 我可以防止表单重新提交自身 但我的问题是 如果我将用户重定向回提交表单的同一页面 这种模式是否有效 我的意思是 我不想将用户重定向到另一个页面 请
  • 如何在 PHPWord 中更改纸张大小

    如何更改phpword中的纸张大小 我想将纸张尺寸更改为 Legal 纸张 8 5 英寸 x 14 英寸 我在文档中找不到该选项 我不确定如何应用该规则 并且文档中似乎没有与此相关的 纸张 或 大小 https phpword readth
  • 使用 memcpy 复制二维数组?

    所以我想将二维数组的内容复制到另一个完全相同类型的数组 以下是数组的创建方式 GridUnit newGrid newGrid new GridUnit width for int i 0 i lt width i newGrid i ne
  • PHP ajax使用新数组上传多个文件

    它是我的上传 html 代码 div class col xs 12 div
  • 二维数组中的寻路

    假设我有这个二维数组地图 0 0 0 0 7 1 1 1 1 1 1 1 1 0 7 7 7 7 1 1 1 24 1 1 1 1 0 7 24 24 24 24 24 24 24 1 1 3 1 0 7 23 23 23 23 23 23
  • Swift - 对数组中每个字符串中的字符进行排序

    所以这个问题是这个问题的后续问题 允许相同字符串的快速字符串排列 https stackoverflow com questions 48976065 swift string permutations allowing the same
  • 在选择选项标签中循环 Ajax 响应

    我必须选择多个测试和日期 当根据测试单击提交时 实验室名称将加载到选择选项中 阿贾克斯脚本 name submits click function e e preventDefault var array select selected e
  • 获取运行时提供的类名的 n 维数组的类

    给定一个完全限定的类名和多个维度 我想获取该类的类名 我相信我可以这样做 public Class elementType Class forName className return Array newInstance elementTy
  • PHP:测试三个变量是否相等

    我以前从未遇到过这种情况 但是如何测试三个变量是否相同 以下内容显然不起作用 但我想不出一种优雅 且正确 的方式来编写以下内容 if select above average select average select below aver
  • Swit 中的函数式编程将数组元素分配到正确的“桶”

    我是函数式编程的新手 我的问题是我有一个主数组和固定数量的 目标 数组 我想根据每个元素的特定值将主数组中的元素分配到正确的结果数组中 我猜测一种方法是使用一个映射函数来遍历主数组元素 确定正确的 目标数组 值 基于某种逻辑 然后将元素添加
  • 如何获取每个类别(例如 WooCommerce 后端)的产品数量?

    我正在建立一个新网站 我对 Woocommerce 非常满意 我只需要一个快速技巧来获取每个类别中的产品数量 我已经调出了每个产品的类别 但无法弄清楚如何从该类别中获取产品数量 我有一个适合我的产品的列表样式 实际上是活动网站的活动 查看图
  • PHP DOMDocument 中 XML 内 HTML 表的 Xpath 查询

    我有一个具有以下树结构的 XML 文件
  • 用于货币转换的php脚本

    我正在寻找一个可以进行货币转换的 php 脚本 在哪里可以找到与 codeigniter 配合使用的工具 取自http www ecb europa eu stats exchange eurofxref html index en htm
  • 如何通过 PEAR 安装旧版本的 PHPUnit?

    我想将 PHPUnit 3 4 的安装降级到 3 3 我只是不知道该怎么做 如何使用 PEAR 在 Ubuntu 上安装 PHPUnit 3 3 版本 您需要知道要降级到的确切版本号 在撰写本文时 您所使用的最后一个版本是 3 3 17 可
  • 解决多个 jQuery 文件之间的冲突

    我的项目中有多个 jquery 文件 我正在使用jquery1 4 2使用facebox 但我也需要原型和scriptacolous脚本 我用过 jQuery noconflict 在我的代码中 但它不起作用 这是网址http mlep c
  • ECHO MYSQL 结果显示空白页 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我知道这一定很简单 但我做不到 我需
  • 如果数组重叠,则折叠多行数组

    我在 PostgreSQL 9 3 中有一个表 其中包含一个列 每行包含一个数组 我正在努力寻找崩溃的方法 共享相同元素的数组行 Examples 简单重叠 给定以下两行数组 1 2 3 5 3 6 9 结果将是一行包含 5 1 2 3 6
  • 如何在 PHP 中替换/转义 U+2028 或 U+2029 字符以阻止我的 JSONP API 崩溃

    好的 我正在运行一个公共 JSONP API 数据由我的 PHP 服务器提供 我刚刚读了这篇文章 JSON 不是的 JavaScript 子集 作者 Magnus Holm 2011 年 5 月 http timelessrepo com
  • PHP日期时间“下周星期三”给我星期一

    我正在尝试使用以下方法获取下周星期三的日期new DateTime next week wednesday 然而 它返回2016 12 19 00 00 00 000000今天是星期一 为什么会这样呢 如何得到正确的结果 我尝试在在线 PH

随机推荐

  • 为什么负边距会影响我的页面宽度?

    请参考以下内容example http jsfiddle net wdm954 Fcznp 9 其中 200px 宽的外部 div 旨在确定我们的页面宽度 它包含一个 400px 宽的内部 div 但左 右负边距为 100px 我预期的最终
  • C++ / C++11 中的函数组合

    我目前正在使用 C 11 编写一些需要大量函数组合的密码算法 我必须处理两种类型的构图 自行编写一个函数 次数可变 数学上 对于某个函数 F F n x F n 1 o F x F n 1 F x 将不同的函数组合在一起 例如 对于某些相同
  • Jackson @JsonRawValue 获取地图的值

    我有以下 Java bean 类 使用 Jackson 将其转换为 JSON public class Thing public String name JsonRawValue public Map content new HashMap
  • 将 asp.net 5 测试放在单独的程序集中

    我使用 Microsoft AspNet TestHost 来托管 xunit 集成测试 只要测试与 asp net 5 solution 位于同一项目中 一切都会正常进行 但我想将测试放入单独的程序集中 将它们与解决方案分开 但是 当我尝
  • 如何处理 pcntl_fork(): 错误 35?

    我有 php7 CLI 守护进程 它连续解析文件大小超过 50M 的 json 我试图使用 pcntl fork 的单独进程将每 1000 个解析数据条目保存到 mysql 对于约 200k 行 它工作得很好 然后我得到pcntl fork
  • “修补”rails 渲染函数来编辑默认选项

    当我在 Rails 中渲染 xml 时 我总是想要 dasherize gt false 选项 有没有办法将其设置为应用程序范围的默认值 当然无需修改 Rails 源代码 也许一个渲染函数以某种方式优先于第一个函数 然后使用此选项调用它 这
  • 如何隔离特定的颠覆修订版?

    我有一个已提交给 SVN trunk 的修订版 我想回滚它 但是 我想以某种方式保留更改 例如分支甚至补丁文件 有什么建议么 反向合并 我认为这就是这个术语 提交 仅此而已 对于 反向合并 部分 TSVN 有一个很酷的功能 称为 恢复到此版
  • 什么时候使用nonlocal关键字? [复制]

    这个问题在这里已经有答案了 我不明白为什么我可以在这里使用系列变量 def calculate mean series def mean new value series append new value total sum series
  • 在 Node.js 中获取父目录名称

    我正在使用 Node js 并且我想获取某个目录的父目录名称 文件 我有文件 test1 folder1 FolderIWant test txt 我想要得到 FolderIWant 我努力了 var path require path v
  • Apache Poi 无法读取工作表名称

    我们在通过 Apache Poi 读取 Excel 工作表时遇到了一个奇怪的错误 我们使用的是5 0版本 该代码以前可以工作 但现在已停止在我们所有的生产环境中工作 它在本地测试时仍然有效 因此事实证明这很难调试 问题是我们返回了空工作表名
  • powershell中的&符号是什么意思?

    tool C Program Files gs gs9 07 bin gswin64c exe tool q dNOPAUSE sDEVICE tiffg4 param r300 pdf FullName c quit 有人可以向我解释这是
  • ...未定义引用...collect2:ld返回1退出状态[重复]

    这个问题在这里已经有答案了 我在编译时遇到一些错误 我不明白为什么 我的 heapsort h 应该有导出类型吗 堆排序 c include
  • DataGridTemplateColumn 内的绑定命令

    我使用命令将视图 包括 XAML 附加到我的 ViewModel 当单击 DataGrid 行上的按钮时 我需要调用命令 我正在为此使用行为 常规命令也有同样的问题 当我单击 DataGrid 上的按钮时 我的命令不会被触发 为了说明问题
  • 通过selenium在firefox中打开私有模式

    实际上我想通过selenium打开firefox浏览器的隐身 私密模式 但每次我尝试时都是以正常模式打开firefox 经过一番谷歌搜索后 我得到了这段代码 我用它通过 selenium 在 Firefox 中打开私有模式 但它不起作用 F
  • 应用因 iCloud 备份标记而被拒绝

    我的应用程序有一些应用内购买 可将视频内容下载到 Documents 文件夹 我最近提交了应用程序的更新 但被拒绝了 因为我没有将视频文件标记为不备份到 iCloud 我成功地实现了标记 但我仍然对苹果文档中的这一声明感到困惑 重要 新的
  • Python 替换嵌套 JSON 中的 None 值

    我一直在尝试替换下面 JSON 字典中的 None 值 我将如何遍历这个 json 并将 None 值替换为空字符串 我很难理解如何遍历嵌套 json 如果有人能帮我解决这个问题 我会很高兴 下面的嵌套 json 示例 或者在 python
  • NullPointerException 自定义列表视图适配器

    你好 stackoverflow 社区 我在扩展 BaseAdapter 的自定义适配器类的 getView 方法中得到了一个 NPE 我希望你可以帮助我 这是我的 getView 方法 Override public View getVi
  • Android:Json 无法从 mysql 数据库检索任何文件,它是空的

    我是 android 新手 我正在使用 mysql 数据库 其中我链接 php 文件进行连接 工作正常 但我的代码没有显示任何内容 它只显示背景色黑色 而不是显示数据库中的数据 public class HomeFragment exten
  • 具有特定深度的 TypeScript 递归类型

    TypeScript 允许您编写递归类型 但无法深入了解代码在较低级别 即深度 中如何变化 例如 下面的代码在所有级别上都具有相同类型的签名 并且我们必须在每个级别手动检查是否存在sub财产 type Recurse foo string
  • PHP - 搜索字符串中的特定单词数组并与可选的 + 或 - 匹配

    我需要在字符串中搜索特定单词并将匹配结果作为变量 我在数组中有一个特定的单词列表 names array Blue Gold White Purple Green Teal Purple Red drag Glowing looks to