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

时间:2013-11-15 00:45:54

标签: php syntax-highlighting readfile text-formatting

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

P.S。 - 我对创建和使用CSS类没有任何问题,如果可能的话,我希望从外部样式表中使用它们。

我完全坚持如何根据正则表达式中的规则将格式添加到文本文件的每个部分 - 有没有人对PHP编码有任何建议?

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

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

使用以下正则表达式强制将任何日期(例如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 个答案:

答案 0 :(得分: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标签的匹配,然后您可以根据需要设置样式。