joonasMedlem sedan juli 200135 inlägg tjenare!
har lite problem med denna funktion (är inte så vass på string patterns)
if (preg_match('/\<b class="ch"\>Runtime:\<\/b\> ([0-9]+ min)\<br\>/', $imdb_website, $hit))
{
return $hit[1];
}
else
{
return "fel";
}
Den kod jag försöker få ut är runtime på en film, det avsnittet ser ut på följande sätt:
<b class="ch">Runtime:</b>
93 min
<br>
Nån som ser felet i springpattern i funktionen?
Resultatet blir att det står fel iaf.
Peter SMedlem sedan dec. 20025 483 inlägg Hej! :)
Du behöver inte escape:a '<' och '>'. Sedan bör det räcka med:
preg_match('/<b class="ch">Runtime:<\/b>(?:\s*)([0-9]+ min)/', $imdb_website, $hit)
joonasMedlem sedan juli 200135 inlägg Funkade kanon, tusen tack.
Du vet ingen bra sida där man kan lära sig lite mer om sånna där wildcards?
Peter SMedlem sedan dec. 20025 483 inlägg Utöver PHP-manualen kan du kika på detta. Visserligen JavaScript, men syntax och semantik är lika ändå.
Glöm ej att acceptera som slutgiltigt svar (y)
salkciNMedlem sedan sep. 200619 inlägg du kan också använda assertions, ex:
preg_match('/(?<=runtime:<\/b>\r\n)\d+/is', $string, $hit);
värdet ligger i $hit[0]