Jump to content

php preg-match


Recommended Posts

Geplaatst:

arg, ik snap hier echt niks van.

ik moet checken of iemand wat invult wat een link naar een plaatje is. (jpg, jpeg, png, gif)

ik wil preg_match gebruiken om te zorgen dat mensen niet zomaar wat in gaan typen..

alleen snap ik er niks van hoe ik dat met pregmatch moet doen???

Geplaatst: (bewerkt)

handig ;)

weet je wat reguliere expressies zijn, en hoe je ze moet gebruiken? Die heb je namelijk nodig in preg_match, en alle andere functies die met reguliere expressies werken.

Tip: hier kun je heel wat info vinden: www.regular-expressions.info , www.regular-expressions.info/reference.html

Als je dat weet, dan kun je gewoon checken met een if-statement:

if(preg_match(.....)) {
   // goed
}
else {
   // fout
}

EDIT: waarom worden die urls zo raar geparsed :?

Bewerkt: door Thundercover
Raar... ik heb ze even als gewone tekst neer gezet. ~~ Thundercover
Geplaatst:

Hey, bedankt ookal snap ik nog maar matig ..

ik heb nu het volgende probleem:

$patterns = "/".$lid."/";
$replacements = '';

$leden = preg_replace ($patterns, $replacements, $row[leden]);

dit is mijn code, alleen moet er een komma (,) voor OF achter het lid staan, dus niet beide.. hoe kan ik zorgen dat hij alleen de lidnaam weghaalt met 1 komma (die er voor staat of achter)/???

Geplaatst:

wil je misschien even uitleggen wat je precies wilt? volgens mij kan het veel simpeler, hoe je niet eens regular expressions te gebruiken.

Anders is het misschien handig om te posten wat $lid precies is, hoe je die definieert in php.

Geplaatst: (bewerkt)

$lid = "test";
$row[leden] = "test,test2,test3,test4";

$patterns = "/".$lid."/";
$replacements = '';

$leden = preg_replace ($patterns, $replacements, $row[leden]);

het is dus om te zorgen dat "lid" uit het rijtje word geschrapt.

maar het probleem is dat $lid ook "test2" of "test4" kan zijn. Ik wil dus zorgen dat het resultaat moet worden:

"test2,test3,test4"

en als lid test2 is:

"test,test3,test4"

en als lid test4 is:

"test,test2,test3"

er moet dus telkens $lid uit het rijtje worden geschrapt met een komma ervoor of erachter.

** ik vermeld er even bij dat preg_match hier niet in voorkomt wat ik hierboven vroeg**

Bewerkt: door Maikle
Geplaatst: (bewerkt)

Als je dat wilt, kun je dat ook zo doen:

$lid = "test";
$row[leden] = "test,test2,test3,test4";

$leden_array = explode(',', $row[leden]);
$lid_key = array_search($lid, $leden_array);
unset($leden_array[$lid_key]);
$row[leden] = implode(',', $leden_array);

Ik heb het niet getest, maar volgens mij moet het werken.

PS: $row[leden] is niet echt correct php, misschien $row['leden'] ?

Bewerkt: door marcootje

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...