如果我有两个较长的字符串 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 应用程序中,这是可以接受的。