preg_match end of string
Beste forum lezers/helpers,
Met onderstaande code haal ik een reeks met linken op, nu is het de bedoeling dat het script het einde van de string opzoekt en daar ook stopt met het ophalen van de linken. het eind teken is een double quote ". Hoe kan ik dat aangeven in het script. alvast bedankt voor de reacties.
Met onderstaande code haal ik een reeks met linken op, nu is het de bedoeling dat het script het einde van de string opzoekt en daar ook stopt met het ophalen van de linken. het eind teken is een double quote ". Hoe kan ik dat aangeven in het script. alvast bedankt voor de reacties.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$url = 'http://website.nl';
$input = @file_get_contents($url) or die("Could not access file: $url");
preg_match_all ("%mijndata-l=\"((([^& ]+)&?)+)%i", $input, $pat);
foreach($pat as $match) {
echo $match[0];
echo '<br>';
}
?>
$url = 'http://website.nl';
$input = @file_get_contents($url) or die("Could not access file: $url");
preg_match_all ("%mijndata-l=\"((([^& ]+)&?)+)%i", $input, $pat);
foreach($pat as $match) {
echo $match[0];
echo '<br>';
}
?>
Bedankt voor je reactie Wouter,
maar het werkt niet zoals ik wil.
met onderstaande code wil ik een string eruit halen, aan het eind van de string staat een double quote ". na de double quote staat de volgende string en die wil ik juist niet hebben. Nu is mijn vraag hoe kan ik het script laten stoppen bij het eind van de string, bij de double quote?
preg_match('/mijndata(.*)/i', $string, $matches);
{/code]
maar het werkt niet zoals ik wil.
met onderstaande code wil ik een string eruit halen, aan het eind van de string staat een double quote ". na de double quote staat de volgende string en die wil ik juist niet hebben. Nu is mijn vraag hoe kan ik het script laten stoppen bij het eind van de string, bij de double quote?
preg_match('/mijndata(.*)/i', $string, $matches);
{/code]
door \" (een dubbele quote) aan het einde van je match te zetten, zodat hij matched totaan de dubbele quote. Vervolgens maak je de .* lazy, door er .*? van te maken. Hierdoor zal hij matchen totaan de eerste dubbele quote
Wouter, ik heb het aangepast, maar hij gaat nog steeds verder naar de volgende string.
Wat doe ik fout?
Wat doe ik fout?
Gewijzigd op 09/09/2013 17:49:10 door Lano Heeren
Oke, sorry. ga het uitproberen
Bedankt Wouter, er stond ook nog een foutje bij mijndata, moet zijn mijndata=", heb het aangepast en werkt nu super.
Bedankt Wouter, er stond ook nog een foutje bij mijndata, moet zijn mijndata=", heb het aangepast en werkt nu super.
Gewijzigd op 09/09/2013 17:56:12 door Lano Heeren