preg_match end of string
Lano Heeren
09/09/2013 12:31:39Beste 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>';
}
?>
PHP hulp
06/12/2024 23:38:51Wouter J
09/09/2013 13:27:31Lano Heeren
09/09/2013 14:23:15Bedankt 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]
Wouter J
09/09/2013 16:39:55door \" (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
Lano Heeren
09/09/2013 17:39:58Wouter, 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
Wouter J
09/09/2013 17:42:30Lano Heeren
09/09/2013 17:45:40Oke, 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