preg_match end of string

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lano Heeren

Lano Heeren

09/09/2013 12:31:39
Quote Anchor link
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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';

    }

?>
 
PHP hulp

PHP hulp

26/04/2024 15:07:23
 
Wouter J

Wouter J

09/09/2013 13:27:31
Quote Anchor link
Gewoon \" erachter zetten?

Toevoeging op 09/09/2013 13:27:57:

en een vraagteken achter '+'
 
Lano Heeren

Lano Heeren

09/09/2013 14:23:15
Quote Anchor link
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]
 
Wouter J

Wouter J

09/09/2013 16:39:55
Quote Anchor link
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
 
Lano Heeren

Lano Heeren

09/09/2013 17:39:58
Quote Anchor link
Wouter, ik heb het aangepast, maar hij gaat nog steeds verder naar de volgende string.
Wat doe ik fout?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
preg_match('/mijndata(.*)\"(.*?)/', $string, $matches);
Gewijzigd op 09/09/2013 17:49:10 door Lano Heeren
 
Wouter J

Wouter J

09/09/2013 17:42:30
Quote Anchor link
je moet .* aanpassen naar .*?, niet ook nog eens .*? erachter zetten.
 
Lano Heeren

Lano Heeren

09/09/2013 17:45:40
Quote Anchor link
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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
preg_match('/mijndata=\"(.*?)\"/i', $string, $matches);
Gewijzigd op 09/09/2013 17:56:12 door Lano Heeren
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.