Avatar billede Slettet bruger
15. marts 2005 - 14:47 Der er 4 kommentarer og
1 løsning

RegExp warning

hvorfor resulterer følgende:

<?php
$testvar = '                <tr>
                      <td>
                        <font class="boldlargecopy">
                          Business Desktops BIOS Utilities<BR>                        </font>                        <font class="raqStandard">                          version 2.00 A &nbsp; (12 Jul 04)<BR>                        </font>
                      </td>
                    </tr>';
if (preg_match('/.*(?<=class="raqStandard".*)version.*(?=\\))/', $testvar, $regs)) {
    $biosversion = trim($regs[0]);
} else {
    $biosversion = "";
}

echo $biosversion;
?>

i denne warning:

Warning: preg_match() [function.preg-match]: Compilation failed: lookbehind assertion is not fixed length at offset 27 in . . . osv..

?
Avatar billede barklund Nybegynder
15. marts 2005 - 14:51 #1
Hvorfor har du overhovedet brugt en lookbehind? Og derudover ser dine parenteser ikke helt velbalancerede ud.
Avatar billede Slettet bruger
15. marts 2005 - 14:53 #2
Paranteserne er da som de skal være? / Hvad er forkert?

Jeg bruger en lookbehind fordi det er det jeg skal bruge?

Jeg skal hive teksten "                          version 2.00 A &nbsp; (12 Jul 04)" ud.
Avatar billede barklund Nybegynder
15. marts 2005 - 14:57 #3
Du kan da bare matche det første væk og bruge parenteser til at give det ønskede undermatch ud:

preg_match("/class=\"raqStandard\"(\w*version.*?\))/', $testvar, $regs))

Og så give $regs[1] ud - som er første submatch.

Du kan også flytte parentesen hen efter \w* hvis du ikke vil have alt det første whitespace med.
Avatar billede Slettet bruger
12. juli 2005 - 09:14 #4
Lukket.. Fik ikke warningen væk. (Eller også har jeg glemt og jeg gjorde ;) )
Avatar billede Slettet bruger
12. juli 2005 - 09:14 #5
.
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