http://code.stephenmorley.org/php/diff-implementation/#styling
Я перехожу по ссылке выше, чтобы проверить код.
Я собрал их вместе, но в браузере, но я не вижу никакой хорошей таблицы цветов, как упомянуто автором. Я не знаю как включить style
написать какую-нибудь идею о том, как это сделать?
index.php
<?php
// include the Diff class
require_once './class.Diff.php';
// output the result of comparing two files as plain text
echo Diff::toTable(Diff::compareFiles('/tmp/foo1', '/tmp/foo2'));
?>
Вы должны включить CSS на своей странице, либо встраивая его в <head>
или путем ссылки на внешнюю таблицу стилей.
<!DOCTYPE html>
<html>
<head>
<!-- external CSS -->
<link rel="stylesheet" type="text/css" href="style.css" />
<!-- embedded CSS -->
<style type="text/css">
.diff td {
vertical-align: top;
white-space: pre;
white-space: pre-wrap;
font-family: monospace;
}
</style>
</head>
<body>
...
Ссылка, которую вы предоставили, дает пример минимального CSS, необходимого для каждого td
:
.diff td {
vertical-align: top;
white-space: pre;
white-space: pre-wrap;
font-family: monospace;
}
Также объясняется, какие классы вы можете стилизовать: diffUnmodified
, diffDeleted
, diffInserted
, а также diffBlank
,
Это CSS из примера страницы, которую вы связали:
.diff td {
padding :0 0.667em;
vertical-align: top;
white-space: pre;
white-space: pre-wrap;
font-family: Consolas,'Courier New',Courier,monospace;
font-size: 0.75em;
line-height: 1.333;
}
.diff span {
display: block;
min-height: 1.333em;
margin-top: -1px;
padding: 0 3px;
}
* html .diff span {
height: 1.333em;
}
.diff span:first-child {
margin-top: 0;
}
.diffDeleted span {
border: 1px solid rgb(255,192,192);
background: rgb(255,224,224);
}
.diffInserted span {
border: 1px solid rgb(192,255,192);
background: rgb(224,255,224);
}
Других решений пока нет …