login  Naam:   Wachtwoord: 
Registreer je!
 Forum

preg_match (Opgelost)

Offline jelle - 22/04/2007 00:34
Avatar van jellePHP beginner
wat preg_match doet snap ik wel maar wat zijn die tekens: preg_match('@^(?:http://)?([^/]+)@i',

en waar kan ik een toturial daar over vinden want bij php.net staat niet wat al die tekens zijn

2 antwoorden

Gesponsorde links
Offline JBke - 22/04/2007 07:49 (laatste wijziging 22/04/2007 08:08)
Avatar van JBke PHP gevorderde Als je daar uitleg over zoekt kan je beter zoeken op reguliere expresies ipv preg_match want dat legt enkel de functie uit, zo een opsomming van tekens in een welbepaald zoekpatroon noemt men een reguliere expressie.
Ga eens lezen op:

http://www.site...4&id=5
http://www.site...amp;id=490

en

http://phphulp.nl/php/tutorials/4/384/
http://phphulp.nl/php/tutorials/4/386/

en er zijn meerdere sites te vinden ook http://www.php.net

er zijn 2 soorten namelijk de POSIX-stijl en perl-compatibele dit heeft ermee te maken welke functies je gebruikt:

POSIX-stijl functies: ereg(); ereg_replace(); eregi(); eregi_replace(); split(); en spliti();

het worden jokers genoemd. bvb een '^www' wil zeggen dat de 'www' enkel vooraan moet voorkomen in de string. en een $-teken wil net het omgekeerde aanduiden dus achteraan een string.

een + is alleen een match voor een of meerdere instanties gevallen van de voorafgaande expressie.

een set tussen [] is een match voor elk van die tekens: het patroon [ab] is een match voor a of b. je kan hier ook een bereik opgeven met een - : [a-g] is a, b , c, d , e, f of g.


Perl-compatibele functies: preg_match(); preg_match_all(); preg_split(); preg_replace(); preg_replace_callback(); preg_grep(); en preg_quote();

uiteraard ook de gewone tekens en opsommingen met [] en ook -

Voorgedefiniëerd voor tekenklasse:
\d is een voorgedefiniëerd patroon dat 1 cijfer matcht uit [0-9] en staat eigenlijk voor digit zoals \s matcht met elk witruimte teken.

Vermenigvuldigingstekens:
elk willekeurig patroon dat gevolgd wordt door:
* betekend: match dit patroon 0 of meer keer.
? betekend: match dit patroon precies 1 keer.
+ betekend: match dit patroon 1 of meer keer.

Ankertekens:
het caret teken ^ aan het begin van een patroon betekend dat het patroon aan het begin van de string moet starten; het $ teken aan het einde van een patroon betekend dat het patroon moet eindigen aan het einde van de string. het caret teken ^ aan het begin van een tekenklasse [^abc] betekend dat de set bestaat uit het complement van de tekens uit de lijst (dat wil zeggen, elk willekeurig teken dat niet in de lijst voorkomt).

Haakjes:

Een groep haakjes {} rond een deel van een patroon betekend: Voeg de substring die matcht met dit patroon toe aan de lijst van matchende substrings.

Als je 1 van de jokertekens gewoon wil zoeken worden deze geëscaped met een \ als je dus bvb een $ of ^ wil zoeken doe je het als volgd: \$\^

Opgelet: simpele reguliere expressies vallen wel mee maar je kan ze op zeer complexe manieren tegenkomen.

hopelijk heeft dit wat geholpen maar ga voor de volledige lijst eens zien naar de vermelde tutorial bovenaan.

Grtz.
Offline jelle - 22/04/2007 08:58
Avatar van jelle PHP beginner ja!! bedankt nu snap ik het, weer wat geleerd 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.27s