Avatar billede olinuxo Nybegynder
06. januar 2015 - 21:28 Der er 1 kommentar

preg_match_all find mellem tegn

Hej

Jeg er ved at udarbejde en preg_match_all-funktion, der kan vise nogen værdier mellem specielle tegn.

Jeg kan dog ikke finde ud af hvordan min pattern skal se ud, hvis den skal trække data ud hvor alle data ender på !!, skal starte fra specielle tegn såsom ## og (mellemrum) og @ og !!

Den skal trække følgende ud:
1122
5x44
77554a
aa7xx



Jeg har følgende string:

$str = "##1122!! 5x44!! @77554a!!aa7xx!!"


$pattern = "/[.#](.*?)!!/i";

preg_match_all($pattern, $str, $matches);

Jeg kan dog ikke få min pattern til at makke ret - hvad gør jeg ved space/mellemrum??
Avatar billede arne_v Ekspert
07. januar 2015 - 03:57 #1
Et forslag:

<?php
$str = "##1122!! 5x44!! @77554a!!aa7xx!!";
preg_match_all('/[#@ ]*([^!]+)!!/', $str, $matches);
foreach ($matches[1] as $val) {
    echo "$val\r\n";
}
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester