Avatar billede sark.dk Nybegynder
29. august 2001 - 21:21 Der er 14 kommentarer

Optimering/hastighed af kode...

Denne kode virker fint nok.. men den er ALT for langtsom... kan det skrives om ?
<?
for ($i=0;$i<count($RetrieveFile);$i++) {           
if (ereg(\"<!--  Beskrivende FORLAGSNOTE -->\", $RetrieveFile[$i])) {
            $ting = strip_tags($RetrieveFile[$i+1]);
            $Beskrivelse = \"<!--start-->$ting<br><br><!--slut-->\";
            }
$RetrieveFile[$i] = strip_tags($RetrieveFile[$i]);
        if (ereg(\"ISBN\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9\\-]+\", \"\", $RetrieveFile[$i]);
            $Isbn = \"$RetrieveFile[$i]<br><br>\";
            }

        if (ereg(\"udgave,\", $RetrieveFile[$i])) {
            }
        if (ereg(\"sider.\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9]+\", \"\", $RetrieveFile[$i]);
            $sider = \"$RetrieveFile[$i]<br><br>\";
            }
        if (ereg(\"Pris(.*)kr.\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9\\,]+\", \"\", $RetrieveFile[$i]);
            $pris = \"$RetrieveFile[$i]\";
            }
}

print \"$Beskrivelse\\n\";
print \"$Isbn\\n\";
print \"$udgave\\n\";
print \"$sider\\n\";
print \"$pris\\n\";
?>Denne kode virker fint nok.. men den er ALT for langtsom... kan det skrives om ?
<?
for ($i=0;$i<count($RetrieveFile);$i++) {           
if (ereg(\"<!--  Beskrivende FORLAGSNOTE -->\", $RetrieveFile[$i])) {
            $ting = strip_tags($RetrieveFile[$i+1]);
            $Beskrivelse = \"<!--start-->$ting<br><br><!--slut-->\";
            }
$RetrieveFile[$i] = strip_tags($RetrieveFile[$i]);
        if (ereg(\"ISBN\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9\\-]+\", \"\", $RetrieveFile[$i]);
            $Isbn = \"$RetrieveFile[$i]<br><br>\";
            }

        if (ereg(\"udgave,\", $RetrieveFile[$i])) {
            }
        if (ereg(\"sider.\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9]+\", \"\", $RetrieveFile[$i]);
            $sider = \"$RetrieveFile[$i]<br><br>\";
            }
        if (ereg(\"Pris(.*)kr.\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9\\,]+\", \"\", $RetrieveFile[$i]);
            $pris = \"$RetrieveFile[$i]\";
            }
}

print \"$Beskrivelse\\n\";
print \"$Isbn\\n\";
print \"$udgave\\n\";
print \"$sider\\n\";
print \"$pris\\n\";
?>Denne kode virker fint nok.. men den er ALT for langtsom... kan det skrives om ?
<?
for ($i=0;$i<count($RetrieveFile);$i++) {           
if (ereg(\"<!--  Beskrivende FORLAGSNOTE -->\", $RetrieveFile[$i])) {
            $ting = strip_tags($RetrieveFile[$i+1]);
            $Beskrivelse = \"<!--start-->$ting<br><br><!--slut-->\";
            }
$RetrieveFile[$i] = strip_tags($RetrieveFile[$i]);
        if (ereg(\"ISBN\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9\\-]+\", \"\", $RetrieveFile[$i]);
            $Isbn = \"$RetrieveFile[$i]<br><br>\";
            }

        if (ereg(\"udgave,\", $RetrieveFile[$i])) {
            }
        if (ereg(\"sider.\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9]+\", \"\", $RetrieveFile[$i]);
            $sider = \"$RetrieveFile[$i]<br><br>\";
            }
        if (ereg(\"Pris(.*)kr.\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9\\,]+\", \"\", $RetrieveFile[$i]);
            $pris = \"$RetrieveFile[$i]\";
            }
}

print \"$Beskrivelse\\n\";
print \"$Isbn\\n\";
print \"$udgave\\n\";
print \"$sider\\n\";
print \"$pris\\n\";
?>
Avatar billede sark.dk Nybegynder
29. august 2001 - 21:22 #1
WOW hvad skete der der

poster det lige igen her :
Denne kode virker fint nok.. men den er ALT for langtsom... kan det skrives om ?
<?
for ($i=0;$i<count($RetrieveFile);$i++) {           
if (ereg(\"<!--  Beskrivende FORLAGSNOTE -->\", $RetrieveFile[$i])) {
            $ting = strip_tags($RetrieveFile[$i+1]);
            $Beskrivelse = \"<!--start-->$ting<br><br><!--slut-->\";
            }
$RetrieveFile[$i] = strip_tags($RetrieveFile[$i]);
        if (ereg(\"ISBN\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9\\-]+\", \"\", $RetrieveFile[$i]);
            $Isbn = \"$RetrieveFile[$i]<br><br>\";
            }

        if (ereg(\"udgave,\", $RetrieveFile[$i])) {
            }
        if (ereg(\"sider.\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9]+\", \"\", $RetrieveFile[$i]);
            $sider = \"$RetrieveFile[$i]<br><br>\";
            }
        if (ereg(\"Pris(.*)kr.\", $RetrieveFile[$i])) {
            $RetrieveFile[$i] = eregi_replace(\"[^0-9\\,]+\", \"\", $RetrieveFile[$i]);
            $pris = \"$RetrieveFile[$i]\";
            }
}

print \"$Beskrivelse\\n\";
print \"$Isbn\\n\";
print \"$udgave\\n\";
print \"$sider\\n\";
print \"$pris\\n\";
?>
Avatar billede tdaugaard Nybegynder
29. august 2001 - 21:26 #2
Prøv først at bruge strpos() istedet for ereg() når du ikke bruger regexp .. omskriver lige med strpos() istedet ...
Avatar billede tdaugaard Nybegynder
29. august 2001 - 21:28 #3
<?
for ($i=0;$i<count($RetrieveFile);$i++) {           
    if (strpos($RetrieveFile[$i], \"<!--  Beskrivende FORLAGSNOTE -->\") !== false) {
        $ting = strip_tags($RetrieveFile[$i+1]);
        $Beskrivelse = \"<!--start-->$ting<br><br><!--slut-->\";
    }
    $RetrieveFile[$i] = strip_tags($RetrieveFile[$i]);

    if (strpos($RetrieveFile[$i], \"ISBN\") !== false) {
        $RetrieveFile[$i] = eregi_replace(\"[^0-9\\-]+\", \"\", $RetrieveFile[$i]);
        $Isbn = \"$RetrieveFile[$i]<br><br>\";
    }
    if (strpos($RetrieveFile[$i], \"udgave,\") !==false) {
    }
    if (strpos($RetrieveFile[$i], \"sider.\") !== false) {
        $RetrieveFile[$i] = eregi_replace(\"[^0-9]+\", \"\", $RetrieveFile[$i]);
        $sider = \"$RetrieveFile[$i]<br><br>\";
    }
    if (ereg(\"Pris(.*)kr.\", $RetrieveFile[$i])) {
        $RetrieveFile[$i] = eregi_replace(\"[^0-9\\,]+\", \"\", $RetrieveFile[$i]);
        $pris = \"$RetrieveFile[$i]\";
  }
}

print \"$Beskrivelse\\n\";
print \"$Isbn\\n\";
print \"$udgave\\n\";
print \"$sider\\n\";
print \"$pris\\n\";
?>
Avatar billede tdaugaard Nybegynder
29. august 2001 - 21:30 #4
Nr. 2: Bruger du @file() til at hente indholdet af en side ? I så fald, tror du ikke det er bedre at join()\'e arrayet til een streng istedet for at løbe hver linie igennem ?
Avatar billede tdaugaard Nybegynder
29. august 2001 - 21:30 #5
By the way, !== betyder Not Identical.
Avatar billede sark.dk Nybegynder
29. august 2001 - 21:32 #6
Hvad mener du med at jeg skal bruge join(); hvad vil det betyde ?
Avatar billede sark.dk Nybegynder
29. august 2001 - 21:33 #7
Hvis det blive 1 lang linie så kan jeg jo ikke hente dataen på den måde jeg gør nu
Avatar billede tdaugaard Nybegynder
29. august 2001 - 21:36 #8
sark.dk:> har du ret i  ... :-( men prøv at bruge det jeg har lavet med strpos()
Avatar billede tdaugaard Nybegynder
29. august 2001 - 21:36 #9
forøvrigt tror jeg godt du kan fjerne:

!== false

fra dem ...
Avatar billede Slettet bruger
31. august 2001 - 13:15 #10
td> Hvorfor vil du gerne have  !==  når den korrekte syntaks er !=      ??
Avatar billede myplacedk Nybegynder
31. august 2001 - 19:41 #11
el_barto >> !== er skam ingen syntax-fejl.
Avatar billede Slettet bruger
31. august 2001 - 20:30 #12
myplacedk> Måske har du ret, men hvad er forskellen på != og !== ?? For mig at se er det ekstra = bare fyld i størrelsen af filen..? Men jeg kan jo tage fejl :)
Avatar billede myplacedk Nybegynder
31. august 2001 - 22:38 #13
el_barto >> Ja, du tager meget fejl. :)

= assignment
== equal
=== identical

!= not equal
!== not identical

For at to ting kan være \"identical\" skal de være af samme type.

Hvis nu fx. \"strpos\" ovenfor giver \"0\" (strengen er fundet på position 0), så vil 0 faktisk være == false, men ikke === false. Og det er jo det, det vi skal bruge.
Avatar billede Slettet bruger
31. august 2001 - 22:58 #14
muplacedk> aahh... :) Man lever for at lære! *S*
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