Avatar billede wickedd Juniormester
30. maj 2006 - 20:03 Der er 8 kommentarer og
1 løsning

Helt umuligt, Tilføje et nummer for hver linje

Endnu en gang har jeg sat og prøvet mig frem i snart 3 dage, men jeg kan simpelthen ikke få det til at virke.

I mit tidligere spm: http://www.eksperten.dk/spm/673756 fik jeg følgende kode:
$line = 1;
function AddLineNumber(){
    return $GLOBALS['line']++ . ". ";
}
$str = preg_replace("#^#em", "AddLineNumber()", $str);

men jeg kan simpelthen ikke finde ud af få smidt nogle numre på når $inline er aktiveret.

Håber nogen kan hjælpe, for her kommer hele scriptet (inkl rigtig dårlig kodning) ;)


<div style="text-align: left;">
<?
$inline = $_GET['inline'];
$highlight = $_GET['highlight'];
$id = $_GET['id'];
$fucker = date(Y);
    function f($a){
    static $count = 0;

    if($a == '{') $count++;
    elseif($a == '}') $count--;
    elseif($count == 0) $a = "<br>";

    return $a;
}
if ($inline){
$conn = mysql_connect("xxx","xxx","xxx");   
mysql_select_db("4804",$conn);
$que = mysql_query("SELECT id, version, sigs FROM signatures where id = '$id' LIMIT 0,1");
while ($row = mysql_fetch_array($que)) {
$antal = count(explode(", ",$row[sigs]));
$subantal = count(explode("( ",$row[sigs]));
$str = $row[sigs];

    if ($highlight){

        echo "<i>$highlight</i> was found in this signature update<br>";
$str = eregi_replace("$highlight", "<b>$highlight</b>", $str);

    }
echo "<big><b>NOD32 - $row[version]</b></big><br>Contains $antal signatures<br><a href=\"http://xxxx\">Search</a> | ";

$next = mysql_query("SELECT * FROM signatures WHERE id>$id ORDER BY id ASC LIMIT 0,1");
$prev = mysql_query("SELECT * FROM signatures WHERE id<$id ORDER BY id DESC LIMIT 0,1");
while ($page2 = mysql_fetch_array($prev)) {
echo "<a href=\"view.php?id=$page2[id]&inline=1\">&lt; Prev</a> ";
}
while ($page = mysql_fetch_array($next)) {
echo "<a href=\"view.php?id=$page[id]&inline=1\">Next &gt;</a>";
}
echo " | <a href=\"view.php?id=$row[id]&highlight=$highlight\">Regular sorting</a><br><img style=\"width: 350px; height: 20px;\" alt=\"\" src=\"images/tweak_spacer.gif\"><br>";
echo preg_replace("/,|{|}/e", "f('$0')", $str);
}
}else{
$conn = mysql_connect("xxx","xxx","xxx");   
mysql_select_db("4804",$conn);
$que = mysql_query("SELECT id, version, sigs, special FROM signatures where id = '$id' LIMIT 0,1");
while ($row = mysql_fetch_array($que)) {
    $antal = count(explode(", ",$row[sigs]));
    if ($highlight){
        echo "<i>$highlight</i> was found in this signature update<br>";
$row[sigs] = eregi_replace("$highlight", "<b style=\"background-color: rgb(51, 102, 102); color: rgb(255, 255, 255);\">$highlight</b>", $row[sigs]);
echo "<big><b>NOD32 - $row[version]</b></big><br>Contains $antal signatures<br><a href=\"http://xxxx\">Search</a> | ";

$next = mysql_query("SELECT * FROM signatures WHERE id>$id ORDER BY id ASC LIMIT 0,1");
$prev = mysql_query("SELECT * FROM signatures WHERE id<$id ORDER BY id DESC LIMIT 0,1");
while ($page2 = mysql_fetch_array($prev)) {
echo "<a href=\"view.php?id=$page2[id]\">&lt; Prev</a> ";
}
while ($page = mysql_fetch_array($next)) {
echo "<a href=\"view.php?id=$page[id]\">Next &gt;</a>";
}
echo " | <a href=\"view.php?id=$row[id]&highlight=$highlight&inline=1\">Line sorting</a><br><img style=\"width: 350px; height: 20px;\" alt=\"\" src=\"images/tweak_spacer.gif\"><br>$row[sigs]";

   
    }
if (!$highlight && !$inline){
echo "<big><b>NOD32 - $row[version]</b></big><br>Contains $antal signatures<br><a href=\"http://xxxx\">Search</a> | ";
$next = mysql_query("SELECT * FROM signatures WHERE id>$id ORDER BY id ASC LIMIT 0,1");
$prev = mysql_query("SELECT * FROM signatures WHERE id<$id ORDER BY id DESC LIMIT 0,1");
while ($page2 = mysql_fetch_array($prev)) {
echo "<a href=\"view.php?id=$page2[id]\">&lt; Prev</a> ";
}
while ($page = mysql_fetch_array($next)) {
echo "<a href=\"view.php?id=$page[id]\">Next &gt;</a>";
}
echo " | <a href=\"view.php?id=$row[id]&inline=1\">Line sorting</a><br><img style=\"width: 350px; height: 20px;\" alt=\"\" src=\"images/tweak_spacer.gif\"><br>$row[sigs]";
}
}
}
?>
<?
$conn = mysql_connect("xxx","xxx","xxx");   
mysql_select_db("4804",$conn);
$que = mysql_query("SELECT id, version, sigs, special FROM signatures where id = '$id' LIMIT 0,1");
while ($row = mysql_fetch_array($que)) {
    $antal = count(explode(", ",$row[sigs]));
if ($row[special]){
    echo "<br><img style=\"width: 350px; height: 20px;\" alt=\"\" src=\"images/tweak_spacer.gif\"><br><img style=\"width: 12px; height: 13px;\" alt=\"Contains a writeup about a certain malware\" title=\"Contains a writeup about a certain malware\" src=\"images/writeup.gif\"> $row[special]";
}
}
?>
</div>
Avatar billede jakobdo Ekspert
30. maj 2006 - 20:22 #1
Jeg tror lidt mere forklaring vil hjælpe en smule.
Din forklaring og reference giver ikke meget mening.
Prøv med noget forklaring ala:
Jeg har dette:
Tekst1
Tekst2
Tekst3

Og jeg ønsker...
Avatar billede wickedd Juniormester
30. maj 2006 - 20:26 #2
Jo selvfølgelig.

Det jeg mener er, at når $inline er aktiveret (hvilket erstatter , med <br>), så ville jeg gerne ha nogle numre smidt på også.

Output kunne f.eks. være
Tekst1<br> Tekst2<br> Tekst3
som selvfølgelig bliver opstillet således i browseren:
Tekst1
Tekst2
Tekst3

Det vil jeg så geren ha smidt et nummer på:
1. Tekst1
2. Tekst2
3. Tekst3
osv.

Håber det forklaere det lidt bedre.
Avatar billede wickedd Juniormester
31. maj 2006 - 00:38 #3
Hvorfor kan man ik smide 2000 point op mere ..... Øv
Avatar billede olebole Juniormester
31. maj 2006 - 00:39 #4
<ole>

function alter_array(&$arrItem, $key) {
  $arrItem = ($key+1).". ".trim($arrItem);
}
function indexLines($s) {
    $a = explode("<br>", $s);
    array_walk($a, "alter_array");
    return implode("<br>", $a);
}

$str = "Tekst1<br> Tekst2<br> Tekst3";
print indexLines($str);

/mvh
</bole>
Avatar billede wickedd Juniormester
31. maj 2006 - 02:17 #5
<wick>
Jeg mangler hjerneceller, hvor skulle jeg smide den? ;)
</dedd>
Avatar billede wickedd Juniormester
31. maj 2006 - 02:18 #6
Nej forresten, ligemeget, finder ud af det i morgen.
Jeg prøver Ole's løsning, ser hvordan det går :)

Men nu vil jeg i seng.
Avatar billede wickedd Juniormester
10. juni 2006 - 08:53 #7
Det var ret sent, men fik endelig tid til at prøve det.
Virker fint forresten, så smid evt. et svar.
Avatar billede olebole Juniormester
13. juni 2006 - 18:51 #8
*griiiiiiiib*  ;o)
Avatar billede wickedd Juniormester
13. juni 2006 - 21:40 #9
Sådan der, takker for hjælpen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester