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

Php 语法突出显示使用CSS从正则表达式从文件读取的文本,php,syntax-highlighting,readfile,text-formatting,Php,Syntax Highlighting,Readfile,Text Formatting,我正在尝试读取服务器上的文件,然后使用正则表达式确定在web浏览器中查看时该文本文件的每个部分应具有的格式。我只是打开file.txt的内容并阅读 另外,我在创建和使用CSS类方面没有问题,如果可能的话,我更愿意从外部样式表中使用它们 我完全被困在如何根据正则表达式的规则将格式添加到文本文件的每个单独部分上——有人对PHP编码有什么建议吗 主要是: 1.如何将正则表达式应用于全文的各个部分 2.如何在外部样式表(class1、class2等)中应用css规则,这些外部样式表由类名指定给上述文本(

我正在尝试读取服务器上的文件,然后使用正则表达式确定在web浏览器中查看时该文本文件的每个部分应具有的格式。我只是打开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文件目前的大小大约为1MB,但是每次运行创建它的脚本时,大小都会发生变化


最简单的方法是进行
preg\u 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);
$date=“/[0-9]+[.][0-9]+[.][0-9]+-[0-9]+[.][0-9]+[.][0-9]+/”;
$keywords=array(“/START/”、“/INITIATE/”、“/DELETE/”);
$line=preg_replace($date,$0,$line);
$line=preg_replace($keywords,$0,$line);

这将使用span标记围绕匹配项,然后您可以根据需要设置样式。

最简单的方法是使用
preg\u 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);
$date=“/[0-9]+[.][0-9]+[.][0-9]+-[0-9]+[.][0-9]+[.][0-9]+/”;
$keywords=array(“/START/”、“/INITIATE/”、“/DELETE/”);
$line=preg_replace($date,$0,$line);
$line=preg_replace($keywords,$0,$line);
这将使用span标记围绕匹配项,然后可以根据需要设置样式