设置用双引号括起来的单词的 CSS

2023-11-29

这是我的问题的后续问题如果代码包含保留字,则设置代码的 CSS.

我正在尝试做什么:如果某些代码有引号或双引号,我想将字体颜色设置为红色和粗体。前任。System.out.println( "Hello world" );应该将“Hello world”设置为红色。

怎么了:尽管我尽了最大努力,但我似乎无法让我的控制语句正常工作(至少我认为这就是问题所在)。它将第一个双引号及之后的双引号设置为红色,但是当我告诉它在单词等于时停止时anyword" or anyword'它将块中的其余代码设置为红色。

HTML

<html>
    <body>
        <code id="java">
            public static void main(String[] args)<br>
            {
            <pre>    int i = 120; </pre><br>
            <pre>    // Displays a message in the console </pre>
            <pre>    // This is a test </pre>
            <pre>    System.out.println( "Hello Big World!" );</pre>
            }
        </code>
    </body>
</html>

CSS

.quotes
{
    font-weight: bold;
    color: #E01B1B;
}

jQuery

$(document).ready(function() {
    var code  = $("#java").html(); // Get the code
    var split = code.split(' ');   // Split up each element
    var chkQ  = 0;                 // Check for quotes
    var chkC  = 0;                 // Check until end of comment line

    // Set the CSS of reserved words, digits, strings, and comments
    for (var j = 0; j < split.length; j++) {
        // Check to see if chkQ is set to true
        if (chkQ == 1) {
            // If the element matches (anyword") or (anyword'), then set
            // flag to false and continue checking the rest of the code.
            // Else, continue setting the CSS to .quotes
            if (split[j].match(/."/) || split[j].match(/.'/)) {
                split[j] = '<span class="quotes">' + split[j] + '</span>';
                chkQ = 0;
            } else {
                split[j] = '<span class="quotes">' + split[j] + '</span>';
            }
        }
        ...
        } else if (chkQ == 0 && chkC == 0) {
            ...
            // If the element matches a ("anyword) or ('anyword)...
            } else if (split[j].match(/"./) || split[j].match(/'./)) {
                split[j] = '<span class="quotes">' + split[j] + '</span>';
                chkQ = 1;
            } ...
        }
    }
    // Join all the split up elements back together!
    $("#java").html(split.join(' '));
});

Question:这只是我的正则表达式、控制块或完全不同的东西的问题吗?


当您可以执行简单的全局正则表达式查找和替换时,为什么要拆分字符串:

<script type="text/javascript">
$(document).ready(function(){
//cache the element
   el = $('#java');
//get the HTML contained within the cached element
   code = el.html();
//return the code having executed the replace method, regex explained:
/*    
([^\w]{1}) -> look for a single character that is not an alpha character
(["']) -> then look for either a single quote or double quote
(.*?) -> then look any character, but don't be greedy
(\2) -> then look for what was found in the second group - " or '
([^\w]{1}) -> and finally look for a single character that is not an alpha character
*/
    code = code.replace(/([^\w]{1})(["'])(.*?)(\2)([^\w]{1})/gm,
//execute an anonymous callback, passing in the result for every match found
    function(match, $1, $2, $3, $4, $5, offset, original) {
//construct the replacement
        str =  $1 + '<span class="quotes">' + $2 + $3 + $4 + '</span>' + $5; 
//return the replacement
        return str; 
    });
//replace the existing HTML within the cached element
   el.html(code);
});
</script>

编辑:刚刚更新它以适应嵌套引号。

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

设置用双引号括起来的单词的 CSS 的相关文章

  • 为什么 Web Worker 性能在 30 秒后急剧下降?

    我正在尝试提高在网络工作人员中执行时脚本的性能 它旨在解析浏览器中的大型文本文件而不会崩溃 一切都运行得很好 但我注意到使用网络工作者时大文件的性能存在严重差异 于是我做了一个简单的实验 我在同一输入上运行脚本两次 第一次运行在页面的主线程
  • Jquery 在 DIV 中进行多重加载

    这是我的代码 right load textes html nicolas right load textes html antoine 问题是内容divantoine覆盖了右边div nicolas加载的内容div div right l
  • 如何在php中使用preg添加html属性

    我正在寻找在 php 中编写一个脚本来扫描 html 文档并根据它找到的内容向元素添加新标记 更具体地说 我是扫描文档并为每个元素搜索CSS标记 float right left 如果找到它 它会添加align right left 基于它
  • Django - 提交具有同一字段多个输入的表单

    预警 我对 Django 以及一般的 Web 开发 非常陌生 我使用 Django 托管一个基于 Web 的 UI 该 UI 将从简短的调查中获取用户输入 通过我用 Python 开发的一些分析来提供输入 然后在 UI 中呈现这些分析的可视
  • 引导行之间的垂直间距

    所以我正在研究布局 为了 响应能力 我决定使用 Bootstrap 现在我猜网格系统有问题 我想要的结果如下 1 4 2
  • 计算文本选择的 xy 位置

    我正在尝试使用 DOM 元素创建自己的文本选择 是的 我的意思是当您在此元素中选择文本时 您会在文本后面看到蓝色背景 这个想法是停止默认行为 蓝色 并使用我自己的元素来完成工作 方法是找到选择的 xy 位置 然后放置绝对定位的元素 我希望能
  • @font-face 和 font-variant 是个坏主意吗?

    如果我使用 font face字体和font variant small caps对于相同的选择器 字体将回退到 Safari 中的下一个系统默认字体 我该如何解决这个问题 我一开始在创建一个示例来复制您的问题时遇到了一些麻烦 这让我意识到
  • 将 CSS 生成的三角形拆分为 2 个水平不同的相同颜色

    正如您应该能够通过此代码看到的那样fiddle http jsfiddle net Xh36r 1 以及下面 我希望能够分割显示在第二个 div 顶部的 CSS 生成的三角形水平均等在 之间orange and green使用的颜色 现在它
  • 如何限制下拉列表更改而不禁用它

    如何在不禁用下拉列表的情况下限制下拉列表选项更改 意味着我无法更改选项 并且下拉列表不应该是只读的 我的问题是我的服务器没有读取禁用的元素 这是我的出价 http jsfiddle net m3v7y jQuery var lastSel
  • Ember Data 中出现“超出最大调用堆栈大小”错误的原因可能是什么?

    Ember 发布新版本 3 6 0 后 我开始在控制台中收到错误 rsvp js 24 未捕获 RangeError 超出最大调用堆栈大小 在 WeakMap get 在 getCacheFor metal js 25 在 Computed
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • 如何让div与包含td的高度相匹配?

    我沿着桌子的一排布置了三个 面板 一个比另外两个高 我希望所有三个面板都与最高的一个的高度相匹配 我尝试将 div 的样式设置为 height 100 但是即使包含的 tds 增长 短面板仍然很短 我的 HTML 是由 JSF 生成的 因此
  • string.Compare 行为

    怎么会这样呢 这是从VS2008中的立即窗口获取的 string Compare 1 string Compare 0 0 1 从言论来看字符串比较 http msdn microsoft com en us library 84787k2
  • 当复选框条件更改时,如何使用ajax更新mysql数据库?

    我有一个在客户端按行显示的文章表 每篇文章都有一个唯一的 ID 并包含一个复选框以指示该文章是否被选中为收藏夹 如果它是最喜欢的 则该复选框已被选中 如果没有 则未选中 现在 如果特定于每一行的复选框条件发生变化 我需要 js 或 jque
  • 将 HTML 表格导出到 Excel

    我在 ASP NET MVC 视图页面上有 HTML 表 现在我必须将该表导出到 Excel 1 我使用部分视图 Inquiries ascx 来显示数据库中的表数据 使用LINQ to Entity 2 我还使用了 UITableFilt
  • Node npm 包抛出使用严格:全局发布和安装后未找到命令

    我正在尝试发布 npm 包 当我全局安装该包并尝试运行 cli 命令时 我收到此错误 nvm versions node v0 12 2 bin myPack line 1 use strict command not found nvm
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i
  • Flowtype 属性“msg”缺失为 null 或未定义

    我发现 Flow 很难用 我明白那个Array find可以返回或未定义 因此 通过阅读以下内容 github Array find on Array 引发 https github com facebook flow issues 351
  • 在 PHP 中模拟 jQuery.ajax 请求

    我必须在 PHP 中模拟 AJAX 请求 就像在 jQuery 中一样 我当前的代码在这里 原始 AJAX 调用 不得修改 ajax type POST url someFile php data data success function
  • 无法使用 HTML 设置未定义 jQuery UI 自动完成的属性“_renderItem”

    我使用以下代码将 jQuery UI 自动完成项呈现为 HTML 这些项目在自动完成控件中正确呈现 但我不断收到此 JavaScript 错误并且无法移动过去 Firefox 无法转换 JavaScript 参数 Chrome 无法设置未定

随机推荐

  • 空 DataTable 到 Json 并包含列名称

    我的应用程序分为两部分 客户端和服务器 服务器端询问 SQL 数据库并将结果存储在 DataTable 中 然后我使用下一个函数将 DataTable 转换为 Json 以将其发送到客户端 问题是当没有结果时 我得到一个空字符串 我想得到一
  • 如何在 Neo4j 3.0.1 中配置查询超时

    我想设置查询超时neo4j conf对于 Neo4j 3 0 1 任何花费超过超时时间的查询都应该被终止 我主要关心的是为来自 Neo4j 浏览器的查询设置超时 看起来像这是可能的过去与 execution guard enabled tr
  • OpenCV:相对于参考图像移动/对齐面部图像(图像配准)

    我是 OpenCV2 的新手 正在从事情感识别项目 希望将面部图像与参考面部图像对齐 我希望在进行旋转之前先进行图像翻译 当前的想法是在 x 和 y 坐标的有限范围内运行搜索 并使用平方差之和作为误差度量来选择最佳的 x y 参数来对齐图像
  • PHP 将 24 位颜色转换为 4 位颜色

    背景 我正在将图像转换为 ascii 艺术 这可以完美地工作 甚至可以使用 24 位颜色 将颜色转换为正确的 RGB 值 然而 我现在想用 4 位调色板而不是 24 位来渲染 ASCII 艺术 如何使用 PHP 将 24 位颜色转换为 4
  • 添加到 Woocommerce 的自定义元数据未显示在订单项元中

    我有一个 WooCommerce 订单的自定义元数据 现在我想在结账后将其显示在感谢页面上 但是该数据不可用 数据已保存并可在管理员中使用 但我似乎无法访问它 function custom order item meta item id
  • oData $expand 派生类型

    我在使用 odata 查询获取派生类型时遇到挑战 Url odata resource expand 衍生类型 看到这个link这给出了像这样的选项 People OfType Employee 41 Manager 或 People Em
  • 无法使用 AngularJS 在 Android 浏览器中执行 POST 请求

    我有一个有角度的应用程序 可以显示记录 并让用户能够添加记录 在桌面或 iOS 设备上一切正常 但在 Android 设备上 POST 方法失败 403 禁止 这是我的服务中的代码 obj getRecords function retur
  • 终止正在 Q​​Thread 内运行的正在进行的 QProcess? [复制]

    这个问题在这里已经有答案了 如何终止正在 Q Thread 内运行并被另一个 QThread 删除的正在进行的 QProcess 我什至插入了一个 QMutex extCmdProcessLock 这应该避免在 extCmdProcess
  • Paper.js 外部文件将无法加载

    我只是想进入 paper js 内联时代码可以正常工作 但是当我将它们移动到外部文件并在那里 src 时 错误开始弹出 任何人都可以弄清楚我做错了什么吗 附有错误屏幕截图 非常感谢 错误截图
  • PHP 在 if 语句中组合布尔运算符(AND、OR)

    我想知道是否可以将两个运算符 OR 和 AND 组合在一个 if 语句中 如下所示 if apple 1 orange 2 cake 0 我想说的是 如果苹果等于 1 橙子等于 2 或者蛋糕等于 0 那么就这样做 换句话说 我需要苹果和橙子
  • Python:如何按每个元素的最大值对列表进行排序?

    L a b c d e f 我想按 max a b max c d max e f 等对其进行排序 您可以提供定制key函子到sort L sort key max
  • 如何获取 postgresql 9.5 中特定模式中存在的所有表的表行数?

    如何获取 postgresql 9 5 中特定模式中存在的所有表的表行数 我希望结果为 table name 行数 如何使用查询来完成此操作 这可以通过一些 XML 魔法来完成 select table schema table name
  • Discord.py:为什么我的加入消息不起作用?

    我很困惑为什么我的加入消息不起作用 我安装了discord py库 我真的很困惑 我下面还有其他代码 但它不应该影响上面的代码 import discord client discord Client client event async
  • ASP.NET Core Identity - 获取当前用户

    为了获取 MVC5 中当前登录的用户 我们所要做的就是 using Microsoft AspNet Identity Authorize public IHttpActionResult DoSomething string curren
  • .htaccess 中的条件 PHP 版本

    在我的本地测试服务器上 我使用 PHP 5 4 然而 在实时主机上 我目前仅限于 PHP 5 3 并且必须在 htaccess 中指定它 否则默认为 5 2 所以我可以添加 Use PHP 5 3 Action application x
  • 写入记录器时发生错误。 (无法打开源“.NET Runtime”的日志。您可能没有写入权限。)

    我在 Net core 3 1 中创建了一个 Web 应用程序 并尝试使用 EF Core 访问数据库 在访问它时 我遇到以下错误 奇怪的是 它之前可以正常工作 但应用程序方面没有任何变化 at Microsoft Extensions L
  • 如何在mysql中对西里尔字母进行编码?

    这是怎么回事 我有一个问题 希望你能帮助我解决 我的一个朋友有一个简单 可靠的 html 网站 我实现了一点 php 文章的 CRUD 系统 我遇到的问题是从 mysql 数据库放置和获取西里尔字符 我接下来想要实现的目标是 在主导航中有一
  • 了解地图功能

    Python 2 文档说 内置功能 map function iterable 将函数应用于可迭代的每个项目并返回一个列表 结果 如果传递额外的可迭代参数 函数必须 接受这么多参数并应用于所有项目 并行迭代 如果一个迭代比另一个短 则假定它
  • 使用functions.php将Bootstrap添加到Wordpress

    我尝试使用以下代码将 Bootstrap 嵌入到 Wordpress 但它不起作用 需要帮忙
  • 设置用双引号括起来的单词的 CSS

    这是我的问题的后续问题如果代码包含保留字 则设置代码的 CSS 我正在尝试做什么 如果某些代码有引号或双引号 我想将字体颜色设置为红色和粗体 前任 System out println Hello world 应该将 Hello world