不区分大小写 preg_replace_callback

2024-01-06

在下面的函数中,我想匹配关键字不区分大小写(应匹配“蓝色瑜伽垫”和“蓝色瑜伽垫”)...

但是,目前仅当关键字大小写相同时才匹配。

$mykeyword = "蓝色瑜伽垫";

$post->post_content = preg_replace_callback("/\b($mykeyword)\b/","doReplace", $post->post_content);

// the callback function
function doReplace($matches)
{
    static $count = 0;

    // switch on $count and later increment $count.
    switch($count++) {
        case 0: return '<b>'.$matches[1].'</b>';   // 1st instance, wrap in bold
        case 1: return '<em>'.$matches[1].'</em>'; // 2nd instance, wrap in italics
        case 2: return '<u>'.$matches[1].'</u>'; // 3rd instance, wrap in underline
        default: return $matches[1];              // don't change others.
            }
    }

只需添加i对正则表达式进行修饰符以使其执行不区分大小写的匹配:

"/\b($mykeyword)\b/i"

顺便说一句,如果您还没有这样做,您需要从关键字中转义特殊的正则表达式字符。如果存在任何一个,它们可能会搞乱你的正则表达式并导致 PHP 警告/错误。称呼preg_quote() http://php.net/manual/en/function.preg-quote.php在执行更换之前:

$mykeyword_escaped = preg_quote($mykeyword, '/');
$post->post_content = preg_replace_callback("/\b($mykeyword_escaped)\b/i","doReplace", $post->post_content);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不区分大小写 preg_replace_callback 的相关文章

  • php 崩溃后 mysql 表被锁定

    我有一个 MySQL DB 和一个 innoDB 表 我有一个 php 页面 用于连接 锁定表 进行一些更新 然后解锁表 PHP 页面通过 wamp 与 apache 一起提供 php页面将文件上传到数据库 我决定通过上传一个大小大于分配给
  • Laravel 集合 .each() + array_push

    需要有关 Laravel 上 each 方法内的 array push 的帮助 我无法在此代码上获取容器数组 imagesData array collect data images gt each function v k use ima
  • 很好地阻止了齿轮工人

    我有许多 Gearman 工作人员不断运行 保存用户页面浏览记录等内容 偶尔 我会更新 Gearman 工作人员使用的 PHP 代码 为了让工作人员切换到新代码 我杀死并重新启动了工作人员的 PHP 进程 有什么更好的方法来做到这一点 据推
  • Smarty 3 或更早版本中有类似 Dwoo-s {with} 或 {loop} 的东西吗?

    Dwoo 模板引擎中的 with 和 loop 插件更改变量名称解析的默认上下文 如果在 Dwoo 中您提供模板 arr foo with arr foo arr foo with 有数据 array arr gt array foo gt
  • header() 错误未在 php 中显示

    我写了一个PHP程序 我用session start and header 函数 我知道在向客户端发送任何内容之前应该使用此函数 没关系 但是为了测试 我向客户端发送了一条测试消息echo test 在使用 header 之前 但我没有收到
  • 在 Kohana 中,可以触发 404 错误吗?

    我有一个名为articles 它创建从数据库获取相关数据的文章模型 我想 如果我调用的方法返回false 触发 404 错误 这是我到目前为止所拥有的 articleName this gt uri gt segment articles
  • 如何将 php Web 应用程序转换为桌面应用程序并保留数据库 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们有一个用 PHP 开发的 Web 应用程序 但大多数客户并没有一直连接到互联网 那么 有没有办法将应用程序转换为桌面应用程序 以便
  • 为什么当尝试使用 $this->data 访问 CakePHP 时,密码字段为空?

    我正在实现一个身份验证组件 这是我的注册页面 create User array action gt login echo form gt input primary email array size gt 32 echo form gt
  • 使用 HTTP-Basic 身份验证发出 HTTP GET 请求

    我需要为我正在开发的 Flash Player 项目构建一个代理 我只需要使用 HTTP Basic 身份验证向另一个 URL 发出 HTTP GET 请求 并提供来自 PHP 的响应 就好像 PHP 文件是原始源一样 我怎样才能做到这一点
  • CSS 无法与 CodeIgniter 一起使用

    这是我的 CI 代码的一部分 class page extends CI Controller var Page public function construct parent construct this gt Page 1 this
  • Node.js 进行 rsa 加密的正确方法?

    我正在尝试创建一个 WS 来发出肥皂请求 在消息正文中有一个包含加密文本的字段 我有公钥来加密文本 但我获得的唯一结果是文本无法识别 我使用节点的加密模块来发出请求 并且文本已加密 但我不知道为什么没有正确加密 PS我用 openssl p
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • 有什么方法可以在不重新加载的情况下更改标头 URL? [复制]

    这个问题在这里已经有答案了 可能的重复 修改URL而不重新加载页面 https stackoverflow com questions 824349 modify the url without reloading the page 使用新
  • 如何在 Laravel 代码中使用 Artisan 命令?

    如何在我的 php caode Ex 中使用 Artisan 命令行 php artisan version to 您可以从控制器调用 Artisan 命令 如下所示 calling of migrate install Artisan c
  • 如何将参数传递给 Symfony2 中的验证约束 - 在 yml 中

    我正在尝试向我的应用程序添加一个包范围的参数 以便我可以将其添加到我的验证约束文件 validation yml 中 myApp myBundle Entity Contact properties name NotBlank messag
  • PHP 时间间隔

    我正在寻找一个看起来应该非常简单的解决方案 但似乎我不能在这里找到任何好的答案 而且我自己似乎无法让它发挥作用 我正在寻找的是设置开始时间 结束时间 然后迭代给定时间间隔之间的一组时间 例如 上午 9 00 下午 5 00 是开始时间 这些
  • 通过ajax执行后期操作时如何克服CORS重定向问题?

    我可以通过外部登录表单中的 post 方法类型提交表单来登录 roundcube 实例 托管在另一台服务器上 我收到此错误 通过 ajax 签名时 XMLHttpRequest 无法加载https 192 168 0 7 mail http
  • 图像创建从jpeg() PHP

    我正在使用 imagecreatefromjpeg 函数合并两张图片 现在我面临的问题是 当我使用服务器中的图片时 它工作正常 而当我使用其他网站的图片时 它不起作用 例如 当我使用这个 PHP 文件时http coolfbapps in
  • 如何获取 URL 中未知的 $_GET 值的数组?

    我正在使用一个在线购物车 它接受订购的商品并通过 URL 将其唯一 ID 传递到 process php 页面 所以 URL 看起来像这样 process php code 1 231 code 2 532 code 3 342 Anoth
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt

随机推荐

  • Java 8 流中按属性排序

    哦 那些带有 lambda 的棘手 Java 8 流 它们非常强大 但其中的复杂性需要花一些时间才能理解 假设我有一个User带有属性的类型User getName 假设我有这些用户的地图Map
  • C#中从DataGridView读取数据

    我怎样才能从中读取数据DataGridView在 C 中 我想读取表中出现的数据 如何浏览线路 就像是 for int rows 0 rows lt dataGrid Rows Count rows for int col 0 col lt
  • 如何使用 QSS 为禁用按钮设置不同的背景颜色?

    我已经尝试过使用disabled and enabled但它不起作用 这是我的 QSS 代码 QPushButton background color 44c767 border radius 5px border 1px solid 18
  • Javascript Chart.js 比例修复

    我有一个关于 Chart js 的简单问题 我想知道如何修复我的图表 我使用 Chart js 和 respChartJS https github com arifLogic respChartJS https github com ar
  • 如何记录 makefile?

    有没有办法在 Makefile 中编写 标准 注释 以便稍后将它们提供给类似 Doxygen 的程序 从而输出漂亮的 例如 HTML 或 man 文档 我想对我的主要目标有一个清晰的概述 但不要太花哨 以下是一个更简单的解决方案 不需要定义
  • “不变”属性是抽象定义的一部分吗?

    作为我学习的一部分 我认为我发现的抽象定义的最佳答案 有意义 来自 stackoverflow 什么是抽象 https stackoverflow com questions 7028242 what is abstraction 除此之外
  • 如何用ReentrantLock加锁?

    我希望以下测试仅打印 已锁定 一次 但它最终会打印该行 public class LocKTest Test public void testLock Lock lock new ReentrantLock while true if lo
  • Python 2.6 JSON解码性能

    我正在使用jsonPython 2 6 中的模块用于加载和解码 JSON 文件 然而 我目前的表现比预期的要慢 我正在使用一个大小为 6MB 的测试用例json loads 需要 20 秒 我以为json模块有一些本机代码来加速解码吗 我如
  • 你可以在 Laravel 中扩展 Command 类吗

    我目前正在开发一个使用 Laravel 4 的应用程序 我正在构建一个评论系统 并拥有用于创建 更新 删除的基本命令 接下来我要做的是为评论将附加到的特定对象 例如博客文章 创建命令 所以如果我的命令文件被调用CreateCommentCo
  • 即使 JSON feed 正确,fullCalendar 事件也不会显示

    与其他人一样 我在将 JSON feed 事件呈现在日历中时遇到问题 问题通常是错误的 JSON 格式 但事实并非如此 因为我已经使用 JSONlint 对其进行了验证 并在 Site Master 中对 JSON 提要进行了硬编码 并得到
  • OOP 有什么规则吗?

    最近听说OOP Java 有9条规则 我只知道四种 抽象 多态 继承和封装 OOP 还有更多规则吗 似乎您正在寻找的是面向对象设计的原则 http www butunclebob com ArticleS UncleBob Principl
  • 在 xml 中自动生成 JUnit 结果的最佳方法是什么?

    我目前正在 JUnit 中编写一系列测试 我需要将结果自动导出为 XML 我读到 执行此操作的最佳方法是扩展 RunListener 类并以这种方式编写 XML 下面是我迄今为止所做的示例 但我正在努力解决如何提取已运行的每个测试的信息 D
  • 将条件面板与 checkboxGroupInput 中的值结合使用

    我想使用 checkboxGroupInput 然后 如果选中某个框 我想要一个条件面板 一个玩具示例在这里 shinyUI fluidPage sidebarLayout sidebarPanel checkboxGroupInput i
  • 互信息,Kullback Leibler 两个彩色图像之间的散度

    我正在研究一个使用互信息进行图像分类的项目 它要求我使用彩色图像的概率分布 要么我想计算Matlab中的互信息或Kullback Leibler散度 谁能帮我解决这个问题吗 我将彩色图像的熵计算为 I imread s1 png rgb c
  • 如何在hive中使用order by和collect_set()操作

    在表 1 中 我有 customer id item id 和 item rank 根据某些销售额的项目排名 我想收集每个 customer id 的项目列表 并根据 item rank 排列它们 Customer id item id r
  • 如何将输入类型日期的默认值设置为今天?

    给定一个输入元素
  • Cypress 装置 - 无法读取未定义的属性(读取“数据”)

    我正在尝试使用固定装置来保存不同测试的数据 特别是用户凭据 这是代码的示例 当进行第二次测试时 我得到了 Cannot read properties of undefined reading data 有什么想法以及如何解决这个问题吗 这
  • PHP 删除点和连字符

    您好 我需要从变量时间和日期中删除点和连字符 这是我的代码 todaydate date Y m d n time utc mktime date G date i date s NowisTime date G i s time utc
  • Supervisorctl 不使用 Sqs 我得到了错误

    安装并配置后supervisor我有一些工作正在排队LaravelWeb应用程序 我的服务器操作系统是centOs运行后supervisor我收到这个错误 Symfony Component Debug Exception FatalThr
  • 不区分大小写 preg_replace_callback

    在下面的函数中 我想匹配关键字不区分大小写 应匹配 蓝色瑜伽垫 和 蓝色瑜伽垫 但是 目前仅当关键字大小写相同时才匹配 mykeyword 蓝色瑜伽垫 post gt post content preg replace callback b