Grimreaper
Erfahrenes Mitglied
Hallo Leute!
Ich habe folgendes Problem: Ich lese drei Texte aus einer Datenbank (alle ohne Leerzeichen), ein Haupttext und zwei Teilstücke, die im Haupttext vorkommen:
Die „Sequence“ sieht etwa so aus:
abcdefghijklmnopqrstuvwxyz
Sequence_P[0] würde so aussehen
abcdefghijklmnopqrstuvwxyz (vorrausgesetzt die Primer wären abc & xyz)
Jetzt möchte ich aber, dass bei der Ausgabe alle zehn Zeichen ein Leerzeichen eingefügt wird, also so:
abcdefghij klmnopqrst uvwxyz
Das Problem ist, das mein Script mir auch in die HTML tags (<span class=error> & </span> zum rotfärben) Leerzeichen reinsetzt und die dann vom Browser natürlich nicht mehr erkannt werden. Ich habe versucht das mit folgendem Code zu unterbinden, aber irgendwie klappt das nicht:
Hat jemand ne Idee was da falsch ist?
mfg Grimreaper
Ich habe folgendes Problem: Ich lese drei Texte aus einer Datenbank (alle ohne Leerzeichen), ein Haupttext und zwei Teilstücke, die im Haupttext vorkommen:
Code:
//Primer
$Primer = explode("//", $row -> Primer);
//Sequence
$Sequence = $row -> Sequence;
$Pos = strpos($Sequence, $Primer[1]);
//highlight primer
$output = "<span class=error>".substr($Sequence, 0, strlen($Primer[0]))."</span>".
substr($Sequence, strlen($Primer[0]), $Pos-strlen($Primer[0]))."<span class=error>".
substr($Sequence, $Pos, strlen($Primer[1]))."</span>".substr($Sequence, $Pos + strlen($Primer[1]));
unset($Primer);
$Sequence_P[] = $output; //Sequence with Primer
Die „Sequence“ sieht etwa so aus:
abcdefghijklmnopqrstuvwxyz
Sequence_P[0] würde so aussehen
abcdefghijklmnopqrstuvwxyz (vorrausgesetzt die Primer wären abc & xyz)
Jetzt möchte ich aber, dass bei der Ausgabe alle zehn Zeichen ein Leerzeichen eingefügt wird, also so:
abcdefghij klmnopqrst uvwxyz
Das Problem ist, das mein Script mir auch in die HTML tags (<span class=error> & </span> zum rotfärben) Leerzeichen reinsetzt und die dann vom Browser natürlich nicht mehr erkannt werden. Ich habe versucht das mit folgendem Code zu unterbinden, aber irgendwie klappt das nicht:
Code:
//Sequence optisch aufbereiten
$i = 0; $x = 1; $htmltag = false;
$buff = $Sequence_P[0];
echo "<p><pre>$buff</pre></p>";
while($i<strlen($buff)) {
$seq .= $buff[$i];
if ($seq[$i] == "<") {
$htmltag = true;
};
if ($seq[$i-1] == ">") {
$htmltag = false;
};
//echo "<br>tag: $htmltag, zeichen: $seq[$i]";
if ($htmltag == false) {
$x++;
// echo "<br>$x";
if (fmod($x,10)==0) { //irgendwie macht er hiermit trotzdem Leerzeichen rein, obwohl er erkennt das es html-tags sind
$seq = $seq." ";
$x=0;
};
};
$i++;
};
Hat jemand ne Idee was da falsch ist?
mfg Grimreaper