使用正则表达式中的 CSS 突出显示从文件中读取的文本的语法

Posted

技术标签:

【中文标题】使用正则表达式中的 CSS 突出显示从文件中读取的文本的语法【英文标题】:Syntax highlighting text read from file using CSS from regular expressions 【发布时间】:2013-11-15 00:45:54 【问题描述】:

我正在尝试读取我服务器上的文件,然后使用正则表达式来确定在网络浏览器中查看该文本文件的每个部分时应采用的格式。我只是打开 file.txt 的内容并阅读。

附: - 我对创建和使用 CSS 类没有任何问题,如果可能的话,我更愿意从外部样式表中使用它们。

我完全不知道如何根据正则表达式的规则将格式添加到文本文件的每个单独部分 - 有人对 php 编码有任何建议吗?

主要: 1.如何将正则表达式应用于整个文本的每个单独部分 2.如何将由类名给出的外部样式表(class1,class2等)中的css规则应用到上面(见1)文本的特定部分

例如: (如果需要更清晰的格式/大小,请参阅下面的文本文件示例)

使用以下正则表达式强制将任何日期(例如 14.11.2013 - 23.51.40)格式化为绿色斜体字体:

[0-9]+[.][0-9]+[.][0-9]+ - [0-9]+[.][0-9]+[.][0-9]+.

然后将诸如DELETE 之类的大写单词以与小写等不同的粗体红色字体格式化。

文本示例:

目前这个 .txt 文件的大小约为 1 Mb - 但是每次运行创建它的脚本时都会发生变化。

14.11.2013 - 23.51.40 - START BACKUP LOG
14.11.2013 - 23.51.40 - INITIATE BACKUP PROCEDURE
14.11.2013 - 23.51.40 - DELETE previous backup log

【问题讨论】:

【参考方案1】:

最简单的方法是发送preg_replace

这些方面的东西应该适合你。

$date = "/[0-9]+[.][0-9]+[.][0-9]+ - [0-9]+[.][0-9]+[.][0-9]+/";
$keywords = array("/START/", "/INITIATE/", "/DELETE/");

$line = preg_replace($date, "<span class=\"date\">$0</span>", $line);
$line = preg_replace($keywords, "<span class=\"keyword\">$0</span>", $line);

这将用 span 标签包围匹配项,然后您可以随意设置样式。

【讨论】:

以上是关于使用正则表达式中的 CSS 突出显示从文件中读取的文本的语法的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式突出显示搜索匹配的数字

修改正则表达式以突出显示当前菜单项

基于正则表达式在闪亮的 DT 中突出显示单词

使用正则表达式从 txt 中提取数据 [关闭]

如何突出显示图像中的文本?

在 Python 中使用正则表达式查找和替换文件中的单词列表