php - 用我的 php 代码用 hsl 着色

标签 php html css

我正在学习 php,因为我研究遗传学,这对生物信息学很有用。我在使用我的代码时遇到问题,我确定它非常愚蠢,但我看不到解决方案。

这是我的代码:

    $query="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC";

$seq=chunk_split($query,40,"<br />");

$truecol="<div style=\"color: hsl(0,100%,50%);\">";


function colorSequence ($seq,$position,$truecol,$TFBSlength){
    $nucleotides = str_split($seq);
    foreach ($nucleotides as $index => $nucl){
        if ($index == $position){
            echo $truecol;
        }
        if ($index == $position + $TFBSlength){
            echo "</div>";
        }

           echo $nucl;
    }
    echo "\n";
}
colorSequence($seq,5,$truecol,3);

输出给出:

AAAAAAAAAA
(this is coloured)AAAAA(end of colour)
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

第一行有 10 个字母,第二行有 5 个彩色字母,第三行有 45 个字母。所有行应有 60 个字母。谁能帮忙?

最佳答案

您可能想要使用 <span> HTML 标记而不是 <div> .

因为每个 <div>通常由浏览器显示,上面和下面有一个换行符。

或者你可以定义如何<div>应该看起来像 CSS,但我认为现在太多了:

div {display: inline;}

示例 <span> HTML 元素和使用 substr (我可能会偏离一个左右,我想你可以解决这个问题):

$truecol = 'hsl(0,100%,50%)';
colorSequence($seq, 5, $truecol, 3);

function colorSequence ($seq, $position, $truecol, $TFBSlength)
{
    $before = substr($seq, 0, $position);
    $color  = substr($seq, $position, $TFBSlength);
    $after  = substr($seq, $position + $TFBSLength);
    printf("%s<span style=\"color: %s;\">%s</span>%s\n",
           $before, $truecol, $color, $after);
}

关于php - 用我的 php 代码用 hsl 着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10428048/

相关文章:

php - 如何在 Laravel 中合并两个请求

php - 在构建时将 $HOSTNAME 传递给 Docker 容器

html - 居中对齐时如何使单选按钮齐平?

html - 页脚放置,不是在窗口的底部,而是在内容的底部

Css:当鼠标在父级上时移动子级

php - 如何在节点保存在 Drupal 8 之前操作值?

javascript - 在不考虑其直接父级的情况下获取开始和结束偏移值的范围

java - 如何从输入中获取默认值到 servlet 中?

css - 第二次编辑后,Codekit 无法刷新浏览器?

javascript - 通过ajax将多个文件附件发送到php