突出显示两个字符串之间的差异

2024-04-13

如果我有两个较长的字符串 VARCHAR2,是否有一种简单的方法或算法可以复制或移植到 PL/SQL 来比较它们,插入标记(即,以便在网页中呈现时,差异将突出显示)。

例如:

BEGIN
  DBMS_OUTPUT.put_line(
    markup_differences
         (in_old     => 'Hello world, this is your captain speaking.'
         ,in_new     => 'Hello WORLD, this is not your captain.'
         ,in_preins  => '<ins>'
         ,in_postins => '</ins>'
         ,in_predel  => '<del>'
         ,in_postdel => '</del>'
         ));
END;

预期输出:

Hello <del>world</del><ins>WORLD</ins>, this is <ins>not</ins> your captain
<del>speaking</del>.

请注意,这表明“world”已更改为“WORLD”,插入了“not”,并且删除了“speaking”。

背景:我的目的是比较两个大部分相似的 HTML 片段,并用突出显示来标记它们以便在浏览器中显示。性能不会成为优先考虑的因素。这是一个一次性应用程序,所以我并不追求完美的解决方案。即使有什么事情让我有所作为,也比什么都没有好——而且我还没有向客户承诺任何事情:)

或者,我可以轻松地将 Javascript 中的简单解决方案合并到我的 Apex 应用程序中,这是可以接受的。


John Resigs 博客上有一个非常简单的 js-diff 算法:http://ejohn.org/projects/javascript-diff-algorithm/ http://ejohn.org/projects/javascript-diff-algorithm/

也许这有帮助。

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

突出显示两个字符串之间的差异 的相关文章

  • 从 Oracle 获取包方法和参数

    我正在寻找 Oracle 查询来获取 Oracle 包 过程的所有参数 我知道有一个视图或表可以提供此功能 但我似乎不记得它是什么 注意 我并不是要从 user objects 获取包列表 而是要获取包 中每个过程的数据类型和参数名称 Th
  • 跨数据库管理系统检查字符串是否为数字的方法

    好的 我有这个字段 code varchar 255 它包含我们导出例程中使用的一些值 例如 DB84 DB34 3567 3568 我需要仅选择自动生成的 全数字 字段 WHERE is numeric table code is num
  • 如何捕获 PL/SQL 块中的唯一约束错误?

    假设我有一个 Oracle PL SQL 块 它将一条记录插入表中 并且需要从唯一约束错误中恢复 如下所示 begin insert into some table some values exception when update som
  • ORA-12154: TNS: 无法解析指定的连接标识符

    当我安装服务器版本和现有的 Oracle 10g 客户端版本时 问题就开始了 背景 安装了 Oracle 客户端版本 10g 位于 c oracle 以连接到位于其他国家 地区的数据库 所以我们只能连接到它并且对它的访问权限有限 路径 gt
  • 浏览多个字段的值并将它们插入到同一列中

    我正在尝试使用重复行为我的 oracle apex 应用程序创建一个功能 假设我有一个车辆表 CREATE TABLE vehicles brand VARCHAR2 50 model VARCHAR2 50 comment VARCHAR
  • oracle嵌套表的最大行数是多少

    CREATE TYPE nums list AS TABLE OF NUMBER Oracle 嵌套表中最大可能的行数是多少 UPDATE CREATE TYPE nums list AS TABLE OF NUMBER CREATE OR
  • Oracle 事务在 C++ 和 Java 之间的传播

    我们有一个现有的 C 应用程序 我们将逐步将其替换为新的基于 Java 的系统 在我们用 Java 完全重新实现所有内容之前 我们期望 C 和 Java 必须相互通信 RMI SOAP 消息传递等 我们尚未决定 现在我的经理认为我们需要 J
  • 如何在 Pro*C 查询中指定变量表达式列表?

    我尝试优化的 Pro C 查询出现问题 解释一下 我们的应用程序在一个巨大的数据库中搜索行 这些行存在于多种语言中 旧代码为数组中的每种语言选择一行 现在 由于这些查询是我们应用程序中最耗时的部分 因此我只想进行一个直接写入数组的查询 语言
  • ORACLE 在立即执行中批处理 DDL 语句

    我正在尝试在一个 Execute Immediate 语句中运行多个 ddl 语句 我认为这会很简单 但看来我错了 想法是这样的 declare v cnt number begin select count into v cnt from
  • DBMS_SCHEDULER.DROP_JOB 仅当存在时

    我有一个 sql 脚本 在导入转储后必须运行该脚本 该脚本除了执行其他操作外 还执行以下操作 BEGIN remove program SYS DBMS SCHEDULER DROP PROGRAM program name gt STAT
  • oracle lag 函数与 group by

    我有一个查询忽略从前一个值增加的值 例如 采用下表 col1 col2 col3 5 1 A 4 2 A 6 3 A 9 4 B 8 5 B 10 6 B 现在进行以下查询 select col1 from select col1 lag
  • 调整 Oracle 数据库以加快启动速度(闪回)

    我正在使用 Oracle 数据库 11 2 我有一个场景 我发出FLASHBACK DATABASE经常 似乎有一个FLASHBACK DATABASECycle 会重新启动数据库实例 大约需要 1 分钟 我的设置花了 7 秒 数据库很小
  • 在java中执行匿名pl/sql块并获取结果集

    我想执行匿名 PL SQL 并需要获取结果集对象 我得到了可以通过在 PL SQL 块内使用游标来完成的代码 但 PL SQL 块本身将以文本形式来自数据库 所以我无法编辑该 PL SQL 块 并且它只会返回两个值 其列名始终相同 它将返回
  • Oracle SQL——从字符串中删除部分重复项

    我有一个表 其中有一列包含字符串 如下所示 static text here 1abcdefg1abcdefgpxq 从这个字符串1abcdefg重复两次 所以我想删除该部分字符串 然后返回 static text here 1abcdef
  • 如何从 java.sql.Blob 类型的 zip 文件中读取和提取 zip 条目,而无需将 FileInputStream 或文件路径作为字符串 java

    public static void unzipFiles java sql Blob zip throws Exception String paths byte blobAsBytes zip getBytes 1 int zip le
  • Oracle:如何查找模式中上次更新(任何表)的时间戳?

    有一个Oracle数据库模式 数据很小 但仍然有10 15个表左右 它包含一种配置 路由表 有一个应用程序必须不时轮询此架构 不得使用通知 如果架构中没有数据更新 应用程序应使用其当前的内存版本 如果任何表有任何更新 应用程序应将所有表重新
  • 在 plsql 中立即执行

    如何从这段代码中得到结果 EXECUTE IMMEDIATE SELECT FROM table name through for loop 通常的方法看起来像这样 for items in select from this table l
  • 以无法破坏的方式限制表中允许的记录数量

    我们有一个 Web 应用程序 Grails 我们将根据用户数量为其出售许可证 数据库 Oracle 10g 中有一个表保存用户 客户将托管自己的软件和数据库副本 有人可以建议一些策略来限制允许存在于用户表中的记录数量 从而使客户无法合理地破
  • 创建 SYS_REFCURSOR 并将其作为输入参数从 Java 传递给 Oracle 过程

    我必须与具有 SYS REFCURSOR 作为输入参数的外部 Oracle 过程进行通信 过程 merge objects varchar2 中的 p table name p id array 中 varchar2 SYS REFCURS
  • Oracle:如果表存在

    我正在为 Oracle 数据库编写一些迁移脚本 并希望 Oracle 有类似于 MySQL 的东西IF EXISTS构造 具体来说 每当我想删除 MySQL 中的表时 我都会执行类似的操作 DROP TABLE IF EXISTS tabl

随机推荐

  • 减少 Docker 容器大小

    我正在关注有关 Docker 的在线教程 作者举了这样一个例子 FROM busybox RUN dd if dev zero of tmp test1 bs 1M count 50 RUN dd if dev zero of tmp te
  • 引用对象的 OQL 语法?

    我在中找到所需的对象visualvm v1 3 8 filter heap objects java lang String hibernate ejb naming it toString 它们显示为 java lang String 3
  • 查询Google/Youtube API剩余配额

    有没有办法通过 Google Youtube API 以编程方式查询当天的剩余配额 None
  • 如何将 CMake 输出保存到文件?

    我通常可以通过以下方式保存 bash 命令的输出 gt gt output file txt 但是当我执行时cmake输出仍然发送到屏幕而不是预期的输出文件 cmake D CMAKE BUILD TYPE RELEASE D CMAKE
  • 如何在Javascript中确定数字是奇数还是偶数[重复]

    这个问题在这里已经有答案了 谁能指点我一些代码来确定 JavaScript 中的数字是偶数还是奇数 我正在尝试做类似的事情 if intellect is even var magic1 intellect 2 else var magic
  • 设计基于 Firebase 的可扩展 Feed 模型

    问题 如何设计一个以 Firebase 作为后端 可扩展的社交网络 提要 可能的答案 MVP 解决方案是设计一个feedsroot 子级 每个用户一个 并在每个关注者的提要中附加来自关注用户的任何新帖子 users user1 name b
  • 重新采样栅格

    我正在尝试将高分辨率 25 米 和分类数据 1 到 13 的森林覆盖栅格重新采样为新的RasterLayer分辨率较低 约 1 公里 我的想法是将森林覆盖数据与其他较低分辨率的栅格数据结合起来 I tried raster resample
  • 区分 8 种颜色中的一种最准确的方法是什么?

    想象一下我们如何使用一些基本颜色 RED Color 196 2 51 RED ORANGE Color 255 165 0 ORANGE YELLOW Color 255 205 0 YELLOW GREEN Color 0 128 0
  • img src 属性中使用 javascript 进行 XSS 攻击

    一些较旧的浏览器容易受到 XSS 攻击 img src 当前版本的 IE FF Chrome 不是 我很好奇是否有浏览器容易受到类似的攻击 img src somefile js or 或其他类似的地方 somefile js 包含一些恶意
  • Jenkins Git Publisher 标签未检测到环境变量

    在我的 Jenkins bash 脚本中 我导出以下环境变量 export TAG NAME v LIVE VERSION LIVE BUILD 在 Git 发布者部分中 我尝试创建一个标签 其标签名称字段填充为 TAG NAME 但它试图
  • atol() 与 strtol()

    atol 与 strtol 有什么区别 根据他们的手册页 它们似乎具有相同的效果以及匹配的参数 long atol const char nptr long int strtol const char nptr char endptr in
  • GetAssemblyIdentity 版本始终为 1.0.0.0

    尽管文件版本和产品版本均在 DLL 中定义 并且当我在 Windows 7 中查看其属性时正确显示 但版本为 1 0 0 0 有什么建议吗
  • 更改输入状态会延迟一个字符(useState 挂钩)

    我正在尝试在我的社交网络中实现用户个人资料的即时搜索 它似乎有效 但在输入更改时设置状态 使用挂钩 会导致延迟一个字符 我研究了一下 发现状态延迟的问题可以通过在 setState 中使用回调函数来解决 但是 useState 不支持这一点
  • 获取特定应用程序的屏幕截图

    我知道我可以使用 Graphics CopyFromScreen 获取整个屏幕的屏幕截图 但是 如果我只想要特定应用程序的屏幕截图怎么办 PrintWindow win32 api 将捕获窗口位图 即使该窗口被其他窗口覆盖或位于屏幕外 Dl
  • 什么是“柯里化”?

    我在几篇文章和博客中看到了对柯里化函数的引用 但我找不到一个很好的解释 或者至少是一个有意义的解释 柯里化是指将一个接受多个参数的函数分解为一系列函数 每个函数只接受一个参数 这是一个 JavaScript 示例 function add
  • jquery遍历新创建的元素

    我正在尝试在表中添加新行 并将它们保存到数据库中 首先 我使用 append 在表中追加行 tablename append tr td newly added row td tr 附加功能运行良好 我的页面显示了正确的结果 但是 我无法选
  • 如何以编程方式实例化新的视图控制器

    我有一个带有两个 UIButtons 和 UIlabels 的 ViewController 为了制作类似的 ViewController 我想以编程方式实例化一个新的视图控制器 像这样 let vc storyboard instanti
  • Android - 如何确定坐标是否位于 Google 地图中的道路上

    我需要在我的应用程序中进行检查 以确定给定的坐标是否位于 Google 地图中的道路上 Google Maps API 中是否有任何功能可以帮助我实现这一点 提前致谢 据我所知 使用 Google Maps API 无法完成此操作 我认为你
  • 将 html 输入对齐在同一行

    有人可以给出一个简单的解决方案 如何将表单输入对齐在同一行上 例如 很多时候 当我构建表单时 我可以让它们彼此对齐 并且看起来不错 但是如果我将两个输入 如文本区域 文本 放在另一个文本或按钮旁边 我会得到垂直对齐差异 有没有办法解决这个问
  • 突出显示两个字符串之间的差异

    如果我有两个较长的字符串 VARCHAR2 是否有一种简单的方法或算法可以复制或移植到 PL SQL 来比较它们 插入标记 即 以便在网页中呈现时 差异将突出显示 例如 BEGIN DBMS OUTPUT put line markup d