Avatar billede andersthingholm Nybegynder
23. januar 2004 - 22:50 Der er 9 kommentarer og
1 løsning

Problem med regulært udtryk

Hej,

Jeg har et problem med denne:

if(eregi("(Vedr. [a-zæøå-. ]+)<br>",$body,$reg)) {
    $bodyVedr = $reg[1];
}

Hvis min tekst er "Vedr. test", så virker det fint, men hvis der er flere ord, så virker den ikke - f.eks. "Vedr. test dette er en test"

Jeg håber at nogen kan hjælpe mig med at få den til at spytte alt ud mellem "Vedr." og "<br>".
Avatar billede erikjacobsen Ekspert
23. januar 2004 - 22:58 #1
if(preg_match('/(Vedr\. .*?)<br>/i,$body,$reg)) {
Avatar billede schaefner Juniormester
23. januar 2004 - 22:59 #2
if (preg_match("/(Vedr. [\w\s-\.]+)<br>/i",$body,$reg)) {
Avatar billede schaefner Juniormester
23. januar 2004 - 23:00 #3
ja, den kunne jo ligesågodt laves så simpelt ;)
Avatar billede schaefner Juniormester
23. januar 2004 - 23:02 #4
men hvorfor ?. * tager jo ingen eller flere
Avatar billede andersthingholm Nybegynder
23. januar 2004 - 23:06 #5
Super! erikjacobsen, smider du et svar?
Avatar billede erikjacobsen Ekspert
23. januar 2004 - 23:12 #6
Tak, jeg samler ikke på point.

Hvad mener du med dit spørgsmål, schaefner?
Avatar billede schaefner Juniormester
23. januar 2004 - 23:20 #7
erik >> Prøver lige at forklare lid bedre :)

Burde det ikke være nok med?
if (preg_match('/(Vedr\. .*)<br>/i,$body,$reg)) {

* er jo ingen eller flere tegn og ? betyder at der ikke behøver at være tegn. Kan godt være jeg er galt på den.
Avatar billede erikjacobsen Ekspert
23. januar 2004 - 23:23 #8
.* betyder 0-flere tegn
.*? betyder 0-flere tegn, men ikke-grådigt, dvs. den standser ved den første <br>
    og ikke den sidste på linien, eller i teksten.

Lige her er det vist ligemeget, men skal du i en lang tekst matche flere
forekomster af f.x "<tag>...</tag>...<tag>...</tag>"  er den nødvendig.
Avatar billede schaefner Juniormester
23. januar 2004 - 23:27 #9
ahh ok. Takker for forklaringen :)
Avatar billede erikjacobsen Ekspert
23. januar 2004 - 23:28 #10
Og det er kun i perl-regexps den findes, ikke i POSIX (mig bekendt), derfor preg_....
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