String / preg_match

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer / Domotica / Public Cloud / Verbete

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan het ontwikkelen van innovatie Java applicaties die het levensgeluk van patiënten in diverse zorginstellingen aanzienlijk verbeterd? Lees dan snel verder! Ontwikkelen van nieuwe applicaties in Public Cloud; Optimaliseren en verbeteren van bestaande applicaties in Private Cloud; Meedenken over verbeterprojecten; Maken en uitvoeren van Stress Testing; Ontwikkelen en verbeteren van de Mobile app. Functie-eisen Hbo werk- en denkniveau; Minimaal 5 jaar relevante werkervaring; Ervaring in Java 8; Kennis van Linux, Public- en Private Cloudtechnieken; Je bent communicatief erg sterk en kan tegen de nodige stress. Bedrijfsomschrijving Deze organisatie is al ruim

Bekijk vacature »

Sjef dresen

sjef dresen

27/02/2012 20:26:38
Quote Anchor link
Beste,

Om uit een (hele) lange string een bepaalde substring (alleen numerieke karakters) ben ik na LANG proberen op deze code beland:

Quote:

$string = "hfjdshfjhsjfhsjfh123456789012hfjshfjhsfjhsjfhs333334457845hjdfhdhdfjhfj34343434"

preg_match('/([0-9]{12})/', $string, $match);
echo $match[1];


Output: 123456789012

Dit werkt uitstekend als er één 12-cijferig getal in $string zit. Als dit echter meerdere keren voorkomt, dan krijg ik (logisch ook) toch maar 1 result terug.

Hoe kan ik ervoor zorgen dat ik alle (bijvoorbeeld 3 stuks) 12-cijferige substrings terug krijg uit de "bron-string"?

Alvast bedankt voor de hulp!!

Met vriendelijke groet,

Sjef
 
PHP hulp

PHP hulp

18/02/2020 13:06:29
 
Reshad F

Reshad F

27/02/2012 20:36:23
Quote Anchor link
als je nou in een while lus zet dat zolang je cijfers terugkrijgt ( van 12 ) dat hij de functie blijft herhalen totdat er geen cijfers in zitten?
 
Sjef dresen

sjef dresen

27/02/2012 20:50:30
Quote Anchor link
Dan vind hij steeds dezelfde...
Op de één of andere manier moet ik zorgen dat hij die wat hij gehad heeft wegknipt.
 
Reshad F

Reshad F

27/02/2012 20:54:44
 
Sjef dresen

sjef dresen

27/02/2012 22:08:10
Quote Anchor link
Dankje!
Dat is zeer interessant informatie zeg.
Wel heel "vrij ingewikkeld" maar wel super interessant.
Alweer vind ik het te gek om te zien wat er allemaal met PHP mogelijk is :)

Ik heb nu deze code:

Quote:
$string = "hfjdshfjhsjfhsjfh123456789012hfjshfjhsfjhsjfhs333334457845hjdfhdhdfjhfj34343434"
preg_match("/^([0-9]{12})([0-9]{10})$/", $string, $match);
print_r($match);


En aan de hand van dit voorbeeld:

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
$x
= "The programming republic of Perl";
preg_match("/^(m{1,2})(.*)$/", $x, $matches);
print_r($matches);
// [0] => 'mm'
// [1] => 'ing republic of Perl'

?>


zou je zeggen dat ik dit terug krijg:

[0] => '012345678912'
[1] => '3333344578'

Maar ik krijg alleen maar "Array ( )" terug..?
 
Erwin H

Erwin H

27/02/2012 22:41:14
Quote Anchor link
Volgens mij zou deze moeten werken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
preg_match_all("/\d{1,}/", $x, $matches);
?>


Uit je laatste post krijg ik alleen het idee dat je alleen de 10 en 12 cijfer grote getallen wilt hebben, dan zou je d{1,} kunnen aanpassen naar d{10,} bijvoorbeeld, dan komt de laatste niet mee (want maar 8 lang).
Alle gevonden substrings komen in $matches terecht.
 
Sjef dresen

sjef dresen

28/02/2012 07:43:24
Quote Anchor link
Super bedankt Erwin (en reshadd farid) het werkt :-)

Ik heb inderdaad die 1 moeten aanpassen in 10.
Ideaal dit. Toppie!

Thanks en greetz,

Sjef
 



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.