Moderator |
|
Je zou door middel van patroonherkenning met behulp van reguliere expressies het patroon "/<hier enkel cijfers>/" uit een URL kunnen vissen.
Als je deze bewerking vaker wilt uitvoeren kan het handig zijn om deze in een functie onder te brengen.
Dit ziet er dan bijvoorbeeld als volgt uit:
<?php
// retourneert false indien geen match, en anders het getal
function getIdFromURL($input) {
$match = false;
preg_match('#/([0-9]+)/#', $input, $matches);
if (count($matches) == 2) {
$match = $matches[1]; // gebruik $matches[0] voor het getal inclusief /slashes/
}
return $match;
}
// vanaf hier enkele voorbeelden
$urls = array(
'http://www.bla.nl/test/4567843/nogwat/ennogwat.html',
'http://www.bla.nl/doei/3961324/nogwat/ennogwat.html',
'http://www.bla.nl/hoi/0851534/nogwat/ennogwat.html',
'http://www.bla.nl/oops/wut.html',
);
foreach ($urls as $url) {
?><h2><?php echo $url ?></h2><?php
$match = getIdFromURL($url);
if ($match === false) {
echo '[geen match] er kwam geen getal in de url voor';
} else {
echo '[match] '.$match;
}
?><hr /><?php
}
<?php // retourneert false indien geen match, en anders het getal function getIdFromURL($input) { $match = false; if (count($matches) == 2) { $match = $matches[1]; // gebruik $matches[0] voor het getal inclusief /slashes/ } return $match; } // vanaf hier enkele voorbeelden 'http://www.bla.nl/test/4567843/nogwat/ennogwat.html', 'http://www.bla.nl/doei/3961324/nogwat/ennogwat.html', 'http://www.bla.nl/hoi/0851534/nogwat/ennogwat.html', 'http://www.bla.nl/oops/wut.html', ); foreach ($urls as $url) { ?><h2> <?php echo $url ?></h2> <?php $match = getIdFromURL($url); if ($match === false) { echo '[geen match] er kwam geen getal in de url voor'; } else { } ?><hr /><?php }
|