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.
Annonceindlæg tema
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.
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 = ""; }
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]);
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 = ""; }
22. januar 2009 - 15:55
#5
Og et svar.
23. januar 2009 - 08:44
#6
Ja, der er mange løsninger på opgaven. Men hovedsagen var at du fandt en du kunne bruge.
11. marts 2009 - 20:52
#7
Takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling