Jeg har et script der henter indholdet af en html-fil ind i en variabel. Jeg vil så efterfølgende trække alle episodenavnene ud, og smide dem i et array. Det er så her det kniber lidt med mine reg. expressions skills ;-)
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
Det gik lidt stærkt... Det jeg vil extracte fra ovenstående linie, er så navnet "flaky". Der er mange episoder på én side, så det skal kunne returneres i et array. Hvilken funktion skal jeg bruge, og hvordan sakl min expression se ud?
$string bruger jeg som input, og indeholder hele den tekst jeg skal splitte. Herefter bruger jeg preg_split() til at splitte strengen op efter alle steder der indeholder flash/play.asp?episode=[something], og beder preg_split om at gemme adskilleren i resultatsættet (PREG_SPLIT_DELIM_CAPTURE).
Outputtet er et array af skiftevis delimiters og navne, f.eks.: array ( 0 => 'MM_openBrWindow(\'', 1 => 'flaky', 2 => ',\'\',\'resizable=yes,width=740,height [..] MM_openBrWindow(\'', 3 => 'testing', 4 => ',\'\',\'resizable=yes,width=740,height [..]', )
Det betyder at vi skal fiske hver anden linie ud af array'et - det gør jeg med foreach-løkken bagefter - $index & 1 er trur når index er 1,3,5,7... - dvs. hver 2. gang, og resultatet er et array $names der indeholder navnet på alle ordene/titlerne.
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.