nu wil ik bv dat hij alle namen achterelkaar zet die opeenvolgend met "an" beginnen,
dit vb zou dus geven:
"ans" en "anna andrea anne"
hoe kan ik dit recursief laten werken ipv zelf alle preg_matches achter elkaar te moeten zetten?
Ik schrijf er zelf ff iets voor je voor dan:
<?php
$namen = array("ans","allert","anna","andrea","anne","allert","albert");
foreach($namen as $naam) {
if(preg_match( '/an(A-Z)+/', $naam)) {
echo $naam.'<br />';
}
}
?>
Ik schrijf er zelf ff iets voor je voor dan:
<?php
$namen = array("ans","allert","anna","andrea","anne","allert","albert");
foreach($namen as $naam) {
if(preg_match( '/an(A-Z)+/', $naam)) {
echo $naam.'<br />';
}
}
?>
dat is niet wat ik bedoel, ik wil een string opbouwen die resultaat is van opeenvolgende checks of element met 'an' is begonnen
In mijn vorige script zat een foutje, kan zelf ook niet heel goed met preg_match omgaan namelijk ;). Dit geeft een string terug met alle namen die met an beginnen:
<?php
$namen = array("ans","allert","anna","andrea","anne","allert","albert");
$string = '';
foreach($namen as $naam) {
$eerstetwee = $naam{0}.$naam{1};
if(strtolower($eerstetwee) == 'an') {
$string .= $naam.'<br />';
}
}
echo $string;
?>
<?php
$namen = array("ans","allert","anna","andrea","anne","allert","albert");
foreach ($namen as $naam)
if (strtolower(substr($naam, 0, 2)) == 'an') echo $naam.' ';
?>
hi, maar dit is nog steeds niet wat ik bedoel, begrijpen jullie mijn vraag of moet ik het verder uitleggen?
Stel je hebt een zin gecodeerd
In Amsterdam[L] woon Jan[P] Pieter[P] Janssen[P] samen met zijn moeder Annebet[P] Janssen[P].
Nu maak ik van die zin een array op woord niveau en wil ik dus checken of het volgende element ook van hetzelfde type is dus "Jan Pieter Janssen" en "Annebet Jannsen" als ik op P check
Zoiets is dan mogelijk (de rest kan je dan zelf wel neem ik aan, hiermee laat ik alleen even zien hoe je het zou kunnen checken).
<?php
if (isset($_GET['q'])) {
$string = "In Amsterdam[L] woon Jan[P] Pieter[P] Janssen[P] samen met zijn moeder Annebet[P] Janssen[P].";
preg_match_all('/([a-z0-9]+\['.$_GET['q'].'\]+)/is', $string, $matches);
echo '<pre>';
var_dump($matches[1]);
}
?>
Je vraagstelling is alleen verre van duidelijk! Dit lijkt namelijk in de verste verte niet op wat je in je eerst post vroeg.
edit: Lees je vraag nog een keer, en snap nu iets beter wat je wilt. Interessant vraagstuk, helaas moet ik nu echt gaan slapen, dus kan er niet teveel mee bezig.
Maar het zou mogelijk kunnen zijn met de preg_match die ik net maakte, in combinatie met [php]strpos[/php] en [php]strlen[/php].
Je gaat die $matches doorlopen met foreach, als de strpos van de huidige match, strlen+1 verder is dan de vorige match, dan horen ze bij elkaar, anders niet.
Maar blijft lastig geval.