PHP 替换,但替代替换字符串

2024-04-23

好的,这就是我想做的:我正在尝试使用 PHP 来开发本质上是tinyMarkdown 实现的子集,不值得使用完整的 Markdown 类。

我本质上需要执行 str_replace,但每次出现针时都会交替替换替换字符串,以便处理开始和结束 HTML 标记。

例如,斜体是一对星号,如 *this*,代码块被反引号包围,如“this”。

我需要将第一次出现的一对字符替换为相应的开始 HTML 标记,将第二次出现的字符替换为结束标记。

关于如何做到这一点有什么想法吗?我认为会涉及某种正则表达式......


就我个人而言,我会循环遍历每次出现的情况* or \使用计数器,并根据计数将字符替换为适当的 HTML 标记(例如,如果计数为偶数并且您点击了星号,则将其替换为<em>,如果很奇怪,则将其替换为</em>, etc).

但是,如果您确定只需要支持几种简单的标记,那么每种标记的正则表达式可能是最简单的解决方案。例如,星号是这样的(未经测试):

preg_replace('/\*([^*]+)\*/', '<em>\\1</em>', $text);

反斜杠也有类似的东西。

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

PHP 替换,但替代替换字符串 的相关文章

  • 替换 Javascript 中的引号?

    对于我正在制作的网络应用程序 我将收到文本字符串 其中偶尔包含引号 因为我接下来要 document writing 字符串 所以需要将它们更改为撇号或转义 我该怎么做 因为当我尝试时它似乎不起作用 特别是我认为因为字符串的引号阻止了脚本的
  • PHP strtotime返回Mysql UNIX_TIMESTAMP的不同值

    我在 stackoverflow 上搜索过帖子 发现了一些类似的帖子 但我认为这是一篇不同的帖子 我的 PHP 和 Mysql 服务器的时区全部设置为 UTC 在表中我使用时间戳字段 值为 2010 11 08 02 54 15 我使用这样
  • CodeIgniter:使用多维 POST 数据验证表单

    所以框架是CodeIgniter 2 0 2 我有一个表单 其中包含与数据库中的行相对应的字段组 字段名称的格式为 opt 0 foo opt 0 bar opt 1 foo opt 1 bar etc 索引 1 2等 并不对应于数据库中的
  • 在 Laravel 视图中使用 CSS?

    我刚刚开始学习 Laravel 并且可以掌握控制器和路由的基础知识 我的操作系统是 Mac OS X Lion 它位于 MAMP 服务器上 我的routes php代码 Route get function return View make
  • 使用 php 变量更改 css 类

    这里需要您的帮助 正如标题所示 我正在尝试使用 PHP 变量更改 css 类 所以基本上我想创建一个回显某些代码的循环 但我希望第一个循环中的 div 类有所不同 它应该被隐藏 这是我为使问题变得清晰而编写的简化代码 我不知道错误在哪里 请
  • PHP三元运算符错误[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 三元运算符未按预期工作 https stackoverflow com questions 14214427 php ternary operator not working as expec
  • 在 PHP $_SESSION 中存储数据不安全吗?

    根据我的理解 PHP 进程的行为并不像应用程序服务器进程 因此 执行脚本后 PHP 进程不会保留任何用户特定数据 相反 它将它们存储在用户的 cookie 中 所以无论我们存储在什么地方 SESSSION进入cookie 这是真的 如果是
  • 数组到字符串转换注意事项。为什么?

    为什么我得到 Applications MAMP htdocs test2 php 第 11 行中的数组到字符串转换 注意 users array aa a b bb cc c foreach users as usr var htmlsp
  • 使用 imagettftext 字体时出现问题

    这是当我更改有效网站的环境时收到的错误消息 Warning imagettftext function imagettftext Could not find open font 首先我以为这是因为缺乏文件权限 但事实并非如此 我检查了路径
  • 递归替换多维数组中特定键每次出现的值

    我有一个数组 其数组深度可能会有所不同 例如 array one gt array array something gt value array something2 gt value2 another gt anothervalue tw
  • 如何从 php 代码更改 php 设置?

    我想更改 php 设置 但从 php 页面而不是 php ini 更改 我要更改的设置是 upload max filesize post max size and memory limit 如果您有AllowOverride 选项 您可以
  • PHP 中比较运算符“==”的混淆

    In PHP null 0 0 0 如果将这两者结合起来 您会期望 null 0 但是这是错误的 有人可以向我解释一下吗 在第一种情况下 null 0 null评估为false 与 一样0其评估结果为false 所以两者都是false所以比
  • PHP 中的 GOTO 命令?

    我听说 PHP 计划引入 goto 命令的传言 它应该做什么 我尝试搜索了一下 但没有找到任何具有描述性的内容 我明白这不会是 GOTO 10 类似命令 They are not adding a real GOTO but extendi
  • 如何在 PHP 中修剪定界文档(长字符串)中的每一行

    我正在创建一个 PHP 函数 可以修剪长字符串中的每一行 例如
  • Doctrine 生成实体命名空间问题?

    好吧 我对原则有最后一个问题 生成 实体命令 我运行以下命令 并得到预期的文件 src MyNamespace Bundle MyNamespaceBundle Resources config doctrine metadata orm
  • Woocommerce 预订中每人和每件商品的动态结账自定义字段

    对于预订网站 我正在尝试创建一个功能 可以根据人数添加与会者列表 感谢 LoicTheAztec 我已经获得了单次预订的代码 那部分工作正常 我还需要相同的功能来进行多次预订 我怎样才能实现这个目标 这是代码 Add a new check
  • PHP根据给定索引的匹配值合并数组[重复]

    这个问题在这里已经有答案了 我有两个这样的数组 Array1 Array 0 gt Array ID gt 101 Code gt 1075 Date gt 2012 03 03 17 13 12 433 1 gt Array ID gt
  • 在php中将数组写入文件并获取数据

    我有一个数组 使用后如下所示print r Array 0 gt Array 0 gt piklu name gt piklu 1 gt Array 0 gt arindam name gt arindam 2 gt Array 0 gt
  • facebook og:image 不会从与 URL 相呼应的 php 文件中获取图像

    facebook OG 从回显 URL 获取图像 这可能吗 因为我包含了一个 php 文件 它将回显图像 URL 但是当我签入共享调试器时 内容为空 我的元标签 gt 和 php 文件
  • PHPExcel输出乱码

    我正在尝试 PHPExcel 附带的简单示例 01simple xls 我得到乱码输出 它 LibreOffice 想要导入文件 它认为字符集是西欧 DOS OS2 861 icelandic 输出是这样的

随机推荐

  • 如何在客户端 JavaScript 中读取本地 csv 文件?

    我有客户端 javascript 我想从本地读取它csv文件 在html代码中 我使用脚本标签导入本地javascript文件 并且该js文件位于另一个文件夹中 js文件的内容 ajax type GET url data English
  • 简单聚类算法 2D。检测点簇

    任何人都知道用 C 实现的简单算法来检测 2D 游戏中的怪物组 前任 char周围100范围内有怪物 我想检测哪些怪物在彼此范围 2 内 如果至少有 5 个在一起 则在该位置使用效果区域技能 否则使用单目标技能 最好有一个实现的链接 最好是
  • 在 matplotlib 中,有没有办法在条形/线条/补丁下方设置网格线,同时保留上面的刻度标签?

    相关Matplotlib 在其他图形元素后面绘制网格线 https stackoverflow com questions 1726391 matplotlib draw grid lines behind other graph elem
  • 读外国文字

    我有一个包含英超足球运动员姓名的数据库 我正在将其读入 R 3 02 但当涉及到姓名中含有外来字符 元音变音 重音符号等 的球员时 我遇到了困难 下面的代码说明了这一点 PlayerData lt read table C Users Do
  • 将 vec3b 转换为 mat

    我有彩色图像im 我想使用以下代码使用 vec3b 获取 3 通道图像的像素值 for int i 0 i lt im rows i for int j 0 j lt im cols j for int k 0 k lt nChannels
  • 在 Java 中显式调用默认方法

    Java 8 引入默认方法 http cr openjdk java net dlsmith jsr335 jsr335 0 6 2 H html提供扩展接口的能力 而无需修改现有的实现 我想知道当该方法已被覆盖或由于不同接口中的默认实现冲
  • 自动调整winform和控件到屏幕尺寸

    我创建了一个 winform 应用程序 每个屏幕的尺寸为1361 768像素 这对于较大的屏幕和 或笔记本电脑非常有用 但现在我必须将我的应用程序移至 10 英寸屏幕平板电脑 这意味着我的应用程序不适合 我以前从未处理过这个问题 如何在较小
  • R包安装时间长 - 源代码或二进制类型

    我正在尝试安装一个名为stringi使用下面的命令 install packages stringi 虽然它没有抛出任何错误消息 但安装尚未结束 我在控制台屏幕上看到很多消息 该屏幕持续运行超过 45 分钟 gt install packa
  • JavaScript 中何处使用 ArrayBuffer 与类型化数组?

    我正在从 Node js 迁移到浏览器环境 但我仍然对 ArrayBuffer 与类型化数组 例如 Uint8Array 感到困惑 我对在哪里使用类型化数组以及在哪里直接使用 ArrayBuffer 感到困惑 将一种转换为另一种并不难 反之
  • 无法保存从网络摄像头捕获的图像(OpenCV 2.3 的 imwrite 编译错误)

    我正在使用 OpenCV 2 3 制作简单的网络摄像头程序 但遇到了编译错误 任何想法将不胜感激 编译后 我在 imwrite 处收到以下错误 在下面代码的 read 函数中 这个样本 https code ros org svn open
  • 使用 JavaScript 读取元素的 CSS 属性

    因此 如果有一个 css 文件链接到如下网页 我想读取某个属性 例如 div 有 className layout 并且我想使用 JavaScript 读取此属性的详细信息 我该怎么做 我已经搜索了很多 但几乎没有运气 请建议 您有两个选择
  • 如何在 React Native ListView 中将项目居中?

    我试图在选择一个项目时将其置于水平列表视图的中心 我当前的策略是首先测量项目并滚动到视图中引用项目的 x 坐标 目前 每当我按下某个项目时ListView滚动到最后x 538 有没有更简单的方法来实现这一点 同时保持代码无状态 功能 con
  • 带有 JSpinner 的 JTable 启用/禁用

    我有一个 3 列的 JTable 第 2 列是一个复选框 我想启用 禁用该行的 JSpinner 我已经按照我想要的方式工作了 除了一件事 JSpinner 实际上看起来并不像是被禁用的 文本和微调器按钮呈灰色 我不太确定如何实现这一点 我
  • parseInt() 和 parseFloat() 之间的区别[重复]

    这个问题在这里已经有答案了 可能的重复 parseInt 和 parseFloat 之间的行为差 异 https stackoverflow com questions 9528433 behavior difference between
  • 相同代码的货物构建:虚假的编译时错误?

    我有板条箱A取决于B and B取决于rust nmea https github com Dushistov rust nmea crate 如果我建造箱子A我遇到了很多错误 所有错误都错过了 use std error Error 在构
  • 取消按下 esc 键时的用户输入的简单方法?

    Is there a simple way to cancel the user input in a JTextField when key Esc is pressed 我的意思是与关键侦听器和数据备份不同的东西 Thanks Add
  • Selenium waitFor 机制的内部工作原理是什么?

    我试图通过拦截对 doClick locator 的调用来自定义 Selenium 单击命令的行为 通过 user extentions js 基本上 每当我们的应用程序的 繁忙指示器 显示时 我都需要延迟单击操作 现在这种事情的标准答案是
  • Android Wear 上长时间运行的应用程序

    Android Wear 生态系统似乎是围绕用户将与之交互然后关闭的快速任务构建的 这对于大多数应用程序来说都非常有效 但是对于一个涵盖长时间运行的任务并且在手表休眠时不应自动关闭的应用程序又如何呢 我的具体案例 通过 Swing 高尔夫
  • 在 Kotlin 中测试 CoroutineScope 基础设施

    有人能够向我展示如何使该 viewModel 中的 getMovies 函数可测试吗 我无法进行单元测试来正确等待协程 1 我很确定我必须创建一个测试 CoroutineScope 和一个正常的 lifeCycle CoroutineSco
  • PHP 替换,但替代替换字符串

    好的 这就是我想做的 我正在尝试使用 PHP 来开发本质上是tinyMarkdown 实现的子集 不值得使用完整的 Markdown 类 我本质上需要执行 str replace 但每次出现针时都会交替替换替换字符串 以便处理开始和结束 H