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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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