Avatar billede lillholm Nybegynder
22. januar 2009 - 10:52 Der er 5 kommentarer og
2 løsninger

Trække seriel nummer ud af string

Her er et udsnit af en html koder der ligger i en string:

<select name="SOne"  style="width:auto;height:120px"  size="2" >
<option  value="x">Printer Serial Number:  JPFN6XXXXX</option>
<option  value="x">Firmware Datecode:  20080327 07.012.0</option>

Hvordan får jeg JPFN6XXXXX trukket ud?

Jeg har forsøgt mig lidt med preg_match uden held.
Avatar billede speedy Nybegynder
22. januar 2009 - 11:59 #1
Prøv følgende...

$find_this_begin = "Printer Serial Number:  ";
$find_this_end = "</option>";

$pos1 = strpos($din_html, $find_this_begin) + strlen($find_this);
$pos2 = strpos($din_html, $find_this_end, $pos1);

$serial_number = substr($din_html, $pos1, $pos2 - $pos1);

Jeg har ikke lige adgang til at teste, så det er skrevet udfra hukommelsen.
Avatar billede jakobdo Ekspert
22. januar 2009 - 12:50 #2
if (preg_match('/JPFN6(.+?)</s', $input, $output)) {
    $result = $output[0];
} else {
    $result = "";
}

Og er serial numre:

if (preg_match('/JPFN6(\d+?)</s', $subject, $output)) {
    $result = $output[0];
} else {
    $result = "";
}
Avatar billede lillholm Nybegynder
22. januar 2009 - 15:15 #3
Kan i begge ligge et svar?

Det lykkedes mig at lave det med split

$m_serial1 = split("Printer Serial Number:  ", $data);
$m_serial = split(" ", $m_serial1[1]);
Avatar billede jakobdo Ekspert
22. januar 2009 - 15:54 #4
Hvad med:

if (preg_match('/(JPFN6.+?)</s', $input, $output)) {
    $result = $output[0];
} else {
    $result = "";
}

Og er serial numre:

if (preg_match('/(JPFN6\d+?)</s', $subject, $output)) {
    $result = $output[0];
} else {
    $result = "";
}
Avatar billede jakobdo Ekspert
22. januar 2009 - 15:55 #5
Og et svar.
Avatar billede speedy Nybegynder
23. januar 2009 - 08:44 #6
Ja, der er mange løsninger på opgaven. Men hovedsagen var at du fandt en du kunne bruge.
Avatar billede jakobdo Ekspert
11. marts 2009 - 20:52 #7
Takker for point.
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