altså hvor jeg har fjernet .*? fra delen efter user=( så giver den mig ikke den fejl.
Jeg har godt nok svært ved at se hvordan jeg ellers skal fange æ, ø og å og andre specialtegn, har bl.a. prøvet setlocale(LC_ALL, 'da_DK.UTF-8') men det virkede heller ikke. Håbet var ellers at den \w shorthanden kunne fange dem.
Men som sagt, hvad gør jeg for at løse problemet, for fatter godt nok hat af, at det ligefrem skulle fremprovokere en 500-fejl...
Som en oevelse i regular ekspressions og med det haab at kunne besvare dit spoergsmaal har jeg nu brugt en hel del tid paa at forstaa din ekspression, men det er kun lykkedes delvis. Det ville formodenlig hjaelpe med lidt mere information. Kunne du give den kode snippet hvor du anvender din expression og give eksempler paa strings der ikke matcher, og som matcher med din tilpassede expression?
Ja det var også det jeg tænkte, så må nok bare vente med at se, når Gigahost på et tidspunkt tager sig sammen til at svare på hvor jeg kan se loggen :)
Jo, men du skal vide hvad fejlen er, før det kan løses. Og vælger du et discount-webhotel, uden sædvanlige hjælpemidler, så kan det jo være umuligt. Det er dit valg ;)
$text = '[quote user=æblehatten timestamp=1261251526]Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ornare metus magna. In hac habitasse platea dictumst. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce quis lorem lorem, eget ornare nisi. Curabitur mollis lectus at nibh consectetur condimentum. Donec condimentum pellentesque arcu et vehicula. Quisque quis eros leo, eget volutpat enim. Nam hendrerit augue vel erat gravida sollicitudin. Quisque dapibus metus a eros mattis molestie. Phasellus venenatis enim sed purus viverra hendrerit vel id lorem. Nunc urna dolor, bibendum et fringilla nec, fermentum vel orci. Donec ut ipsum erat. In in diam nulla. Nam sapien augue, dapibus non vulputate ut, suscipit a mauris. Integer nec erat vitae lorem suscipit pellentesque porta a nulla.
Sed suscipit metus et nibh imperdiet vel egestas nisi lacinia. Phasellus ac mi nibh. Aliquam erat volutpat. Nullam odio odio, lacinia vel varius non, feugiat vitae eros. Etiam at dolor odio, sed auctor elit. Nullam laoreet aliquam nibh, at dapibus augue iaculis nec. Sed mi felis, semper vitae porta a, venenatis at nisi. Nam sit amet commodo tellus. Nam at velit non mauris vulputate egestas. Maecenas dictum eleifend arcu in gravida. Sed ultricies magna at elit congue in interdum ligula cursus. Sed posuere venenatis orci et aliquam.
Morbi cursus libero mattis magna cursus mattis. Duis vel eleifend tortor. Curabitur et libero diam. Pellentesque vel ipsum ut risus vehicula rhoncus quis ac dolor. Phasellus cursus, risus id lobortis accumsan, orci felis sodales elit, in dignissim est tortor non nunc. Nullam consectetur, elit ac vulputate tempus, lorem leo consequat nulla, id convallis eros urna eget libero. Mauris tellus velit, pretium sed posuere eget, suscipit in lorem. Donec nec feugiat lorem. Fusce non lacus in magna tristique mollis. Aliquam et gravida sem. Vestibulum ac risus neque. Sed ut nibh lacus, in accumsan magna. Suspendisse potenti. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla facilisi. Sed lacinia libero at lorem laoreet facilisis. Suspendisse ac sem nec velit volutpat malesuada.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris sed est vitae leo hendrerit condimentum. Nam quis est ut quam convallis tristique. Praesent accumsan volutpat elit a euismod. Ut pellentesque ipsum non eros hendrerit quis molestie erat mattis. Aenean eu mauris nunc. Nam sollicitudin purus eget felis dapibus at faucibus dui volutpat. Sed vestibulum tempus justo ut commodo. In lobortis sapien non est volutpat porttitor. Vestibulum nisl orci, lobortis ac mollis at, convallis faucibus nibh. Integer aliquam enim quis odio rhoncus pulvinar. Ut felis risus, convallis vel egestas ut, imperdiet at erat. Fusce eu turpis sit amet nibh facilisis fermentum ut sagittis nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque sollicitudin orci turpis, et consequat sem. Vivamus lectus justo, faucibus et faucibus ut, posuere quis libero. Suspendisse dapibus feugiat sagittis. In tincidunt nulla at massa tincidunt varius.
Curabitur sed libero est, at ullamcorper lacus. Fusce vel commodo metus. Vivamus condimentum, ipsum lacinia blandit rhoncus, tortor nibh tincidunt est, quis lacinia mauris turpis non felis. Sed laoreet rutrum justo in molestie. Aenean sodales tincidunt neque, sed scelerisque purus lobortis et. Quisque luctus enim at lacus luctus blandit. Sed eros felis, tincidunt ac cursus blandit, dapibus ac risus. Cras ut ipsum ac nisl egestas tempor et sed arcu. Curabitur eget ullamcorper erat. Donec ac nibh sed elit fringilla rutrum. Quisque dui felis, luctus quis sodales in, vehicula a arcu. Praesent euismod, eros non suscipit laoreet, orci dui interdum lacus, sit amet ultrices mi ante faucibus nisl. Morbi viverra viverra augue nec sodales. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis libero metus, commodo eu pharetra sed, faucibus ut tortor. Donec aliquam viverra lorem vel sagittis. Suspendisse imperdiet sem vel nunc tincidunt vulputate. Vestibulum ut neque gravida sapien laoreet sollicitudin ut at libero. Curabitur id urna enim, ac pulvinar orci.
Donec odio neque, commodo a sodales sed, tempor eget tortor. Mauris elementum lorem nec orci lacinia sit amet rutrum nibh elementum. Cras eleifend, neque ut varius facilisis, leo tellus pulvinar turpis, vel porta mi diam in dolor. Fusce semper tristique varius. In velit justo, feugiat ut semper eu, mollis interdum quam. Fusce dignissim nisl lorem, non tempus neque. Nunc ac mi nisl. Phasellus egestas porttitor euismod. Donec non consectetur nunc. Donec faucibus semper risus, in ultricies orci rhoncus ac. Nullam hendrerit laoreet justo id ornare. Nunc pulvinar posuere felis, aliquet auctor urna placerat in. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum sodales faucibus augue, ac scelerisque arcu iaculis id.
Quisque ac ipsum ut tortor viverra aliquam quis vel neque. Nunc mauris tortor, hendrerit sit amet dictum nec, interdum in mi. Maecenas gravida, odio at eleifend mollis, ante quam aliquam metus, sit amet viverra nisl magna sed metus. Nulla auctor, nisi a malesuada ullamcorper, nunc sem blandit erat, id lobortis quam dolor in leo. Vivamus et lacus lorem. Curabitur ut orci turpis, a dictum odio. Sed pharetra volutpat libero a porttitor. In feugiat hendrerit urna ac faucibus. Aliquam mi elit, elementum accumsan congue at, sagittis eget velit. Morbi feugiat, mauris in dignissim adipiscing, ante quam facilisis justo, at condimentum magna ligula id sem. Sed ac dolor vel dolor vehicula fringilla vitae eget ipsum. Aliquam vel nibh ante. Aliquam eget tincidunt sem.
Phasellus at lectus vitae nulla aliquet elementum. Duis vestibulum vestibulum lobortis. Nam a neque justo. Mauris ac ante leo, in auctor ante. Donec lobortis, mauris sed tincidunt bibendum, velit magna malesuada orci, eu fringilla urna velit a lorem. In hac habitasse platea dictumst. Morbi ullamcorper, dui non dignissim convallis, massa arcu lobortis diam, nec vestibulum enim metus a nulla. Nullam sit amet consequat felis. Aenean nec mattis nibh. Nunc pharetra nisl sed nibh consectetur eu molestie leo adipiscing. Vivamus at orci euismod nibh accumsan interdum. Proin cursus venenatis egestas. Sed quis orci nisl, sed cursus ante. Suspendisse potenti.
Aliquam erat volutpat. Phasellus neque purus, gravida ut porta at, iaculis rhoncus purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec placerat ultrices nibh, non convallis lacus ultricies vitae. Fusce nec lectus quis leo porttitor scelerisque volutpat at quam. Fusce tristique laoreet mauris vel aliquam. Duis eros nulla, luctus et ornare vel, sagittis eget neque. Donec pellentesque mauris id dui bibendum at cursus enim commodo. Vivamus ultricies commodo sapien, id imperdiet tellus interdum vitae. Vestibulum suscipit aliquam arcu vitae gravida. Ut pretium fringilla turpis, ac gravida nunc molestie ac. In hac habitasse platea dictumst. Donec posuere molestie risus nec auctor. Etiam imperdiet suscipit hendrerit. Fusce eu velit vel magna vulputate varius. Maecenas suscipit tempor nibh. Ut id sapien tortor, vitae aliquet est. Pellentesque id luctus orci. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed ut sem gravida urna tempus blandit non eu justo. [/quote]';
Har prøvet med dette pattern også \[quote *?user=(\w+?) *?timestamp=([0-9]+?)\]((.*?|\r?\n)*?)(\[\/quote\]) som også matcher den angivne tekst.
Synes endda jeg efterhånden har prøvet at finde på en del forskellige regexes der dog alle giver problemer. Det ser ud til, at en løsning kunne være at få \w til at acceptere andet end bogstaverne a-z. Jeg har kun . med fordi der i brugernavne jo kan forekomme andet end a-z...
$text = '[quote user=æblehatten timestamp=1261251526]Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ornare metus magna. In hac habitasse platea dictumst. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce quis lorem lorem, eget ornare nisi. Curabitur mollis lectus at nibh consectetur condimentum. Donec condimentum pellentesque arcu et vehicula. Quisque quis eros leo, eget volutpat enim. Nam hendrerit augue vel erat gravida sollicitudin. Quisque dapibus metus a eros mattis molestie. Phasellus venenatis enim sed purus viverra hendrerit vel id lorem. Nunc urna dolor, bibendum et fringilla nec, fermentum vel orci. Donec ut ipsum erat. In in diam nulla. Nam sapien augue, dapibus non vulputate ut, suscipit a mauris. Integer nec erat vitae lorem suscipit pellentesque porta a nulla.
Sed suscipit metus et nibh imperdiet vel egestas nisi lacinia. Phasellus ac mi nibh. Aliquam erat volutpat. Nullam odio odio, lacinia vel varius non, feugiat vitae eros. Etiam at dolor odio, sed auctor elit. Nullam laoreet aliquam nibh, at dapibus augue iaculis nec. Sed mi felis, semper vitae porta a, venenatis at nisi. Nam sit amet commodo tellus. Nam at velit non mauris vulputate egestas. Maecenas dictum eleifend arcu in gravida. Sed ultricies magna at elit congue in interdum ligula cursus. Sed posuere venenatis orci et aliquam.
Morbi cursus libero mattis magna cursus mattis. Duis vel eleifend tortor. Curabitur et libero diam. Pellentesque vel ipsum ut risus vehicula rhoncus quis ac dolor. Phasellus cursus, risus id lobortis accumsan, orci felis sodales elit, in dignissim est tortor non nunc. Nullam consectetur, elit ac vulputate tempus, lorem leo consequat nulla, id convallis eros urna eget libero. Mauris tellus velit, pretium sed posuere eget, suscipit in lorem. Donec nec feugiat lorem. Fusce non lacus in magna tristique mollis. Aliquam et gravida sem. Vestibulum ac risus neque. Sed ut nibh lacus, in accumsan magna. Suspendisse potenti. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla facilisi. Sed lacinia libero at lorem laoreet facilisis. Suspendisse ac sem nec velit volutpat malesuada.
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris sed est vitae leo hendrerit condimentum. Nam quis est ut quam convallis tristique. Praesent accumsan volutpat elit a euismod. Ut pellentesque ipsum non eros hendrerit quis molestie erat mattis. Aenean eu mauris nunc. Nam sollicitudin purus eget felis dapibus at faucibus dui volutpat. Sed vestibulum tempus justo ut commodo. In lobortis sapien non est volutpat porttitor. Vestibulum nisl orci, lobortis ac mollis at, convallis faucibus nibh. Integer aliquam enim quis odio rhoncus pulvinar. Ut felis risus, convallis vel egestas ut, imperdiet at erat. Fusce eu turpis sit amet nibh facilisis fermentum ut sagittis nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque sollicitudin orci turpis, et consequat sem. Vivamus lectus justo, faucibus et faucibus ut, posuere quis libero. Suspendisse dapibus feugiat sagittis. In tincidunt nulla at massa tincidunt varius.
Curabitur sed libero est, at ullamcorper lacus. Fusce vel commodo metus. Vivamus condimentum, ipsum lacinia blandit rhoncus, tortor nibh tincidunt est, quis lacinia mauris turpis non felis. Sed laoreet rutrum justo in molestie. Aenean sodales tincidunt neque, sed scelerisque purus lobortis et. Quisque luctus enim at lacus luctus blandit. Sed eros felis, tincidunt ac cursus blandit, dapibus ac risus. Cras ut ipsum ac nisl egestas tempor et sed arcu. Curabitur eget ullamcorper erat. Donec ac nibh sed elit fringilla rutrum. Quisque dui felis, luctus quis sodales in, vehicula a arcu. Praesent euismod, eros non suscipit laoreet, orci dui interdum lacus, sit amet ultrices mi ante faucibus nisl. Morbi viverra viverra augue nec sodales. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis libero metus, commodo eu pharetra sed, faucibus ut tortor. Donec aliquam viverra lorem vel sagittis. Suspendisse imperdiet sem vel nunc tincidunt vulputate. Vestibulum ut neque gravida sapien laoreet sollicitudin ut at libero. Curabitur id urna enim, ac pulvinar orci.
Donec odio neque, commodo a sodales sed, tempor eget tortor. Mauris elementum lorem nec orci lacinia sit amet rutrum nibh elementum. Cras eleifend, neque ut varius facilisis, leo tellus pulvinar turpis, vel porta mi diam in dolor. Fusce semper tristique varius. In velit justo, feugiat ut semper eu, mollis interdum quam. Fusce dignissim nisl lorem, non tempus neque. Nunc ac mi nisl. Phasellus egestas porttitor euismod. Donec non consectetur nunc. Donec faucibus semper risus, in ultricies orci rhoncus ac. Nullam hendrerit laoreet justo id ornare. Nunc pulvinar posuere felis, aliquet auctor urna placerat in. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum sodales faucibus augue, ac scelerisque arcu iaculis id.
Quisque ac ipsum ut tortor viverra aliquam quis vel neque. Nunc mauris tortor, hendrerit sit amet dictum nec, interdum in mi. Maecenas gravida, odio at eleifend mollis, ante quam aliquam metus, sit amet viverra nisl magna sed metus. Nulla auctor, nisi a malesuada ullamcorper, nunc sem blandit erat, id lobortis quam dolor in leo. Vivamus et lacus lorem. Curabitur ut orci turpis, a dictum odio. Sed pharetra volutpat libero a porttitor. In feugiat hendrerit urna ac faucibus. Aliquam mi elit, elementum accumsan congue at, sagittis eget velit. Morbi feugiat, mauris in dignissim adipiscing, ante quam facilisis justo, at condimentum magna ligula id sem. Sed ac dolor vel dolor vehicula fringilla vitae eget ipsum. Aliquam vel nibh ante. Aliquam eget tincidunt sem.
Phasellus at lectus vitae nulla aliquet elementum. Duis vestibulum vestibulum lobortis. Nam a neque justo. Mauris ac ante leo, in auctor ante. Donec lobortis, mauris sed tincidunt bibendum, velit magna malesuada orci, eu fringilla urna velit a lorem. In hac habitasse platea dictumst. Morbi ullamcorper, dui non dignissim convallis, massa arcu lobortis diam, nec vestibulum enim metus a nulla. Nullam sit amet consequat felis. Aenean nec mattis nibh. Nunc pharetra nisl sed nibh consectetur eu molestie leo adipiscing. Vivamus at orci euismod nibh accumsan interdum. Proin cursus venenatis egestas. Sed quis orci nisl, sed cursus ante. Suspendisse potenti.
Aliquam erat volutpat. Phasellus neque purus, gravida ut porta at, iaculis rhoncus purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec placerat ultrices nibh, non convallis lacus ultricies vitae. Fusce nec lectus quis leo porttitor scelerisque volutpat at quam. Fusce tristique laoreet mauris vel aliquam. Duis eros nulla, luctus et ornare vel, sagittis eget neque. Donec pellentesque mauris id dui bibendum at cursus enim commodo. Vivamus ultricies commodo sapien, id imperdiet tellus interdum vitae. Vestibulum suscipit aliquam arcu vitae gravida. Ut pretium fringilla turpis, ac gravida nunc molestie ac. In hac habitasse platea dictumst. Donec posuere molestie risus nec auctor. Etiam imperdiet suscipit hendrerit. Fusce eu velit vel magna vulputate varius. Maecenas suscipit tempor nibh. Ut id sapien tortor, vitae aliquet est. Pellentesque id luctus orci. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed ut sem gravida urna tempus blandit non eu justo. [/quote]';
Det virkede dælme. Den der modifier /s, havde jeg godt nok læst om skulle findes i de fleste fortolkninger af regexes (i forskellige udgaver sikkert), men min ringe viden om regexes gjorde, at jeg troede at når nu det virkede når jeg pille .*? ud, så skulle jeg finde en anden løsning.
Men hvorfor har du valgt at gøre '[\d]' delen greedy og ikke lazy vha. '+?' i stedet for bare '+' ?
Din expression kan ikke matche nye linier. Ifoelge mine tutorials matcher . alle tegn undtagen ny linie.
Din expression, paa mit system, kan ikke matche danske bogstaver. Det skyldes maaske min configuration derved at jeg har engelsk keyboard. Om paa et dansk keyboard "æ" o.s.v. hoerer til \w ved jeg ikke.
Jeg lavede denne kode:
<? $string = "[quote user=ablehatten timestamp=1261251526] tekst [/quote]";
Præcis det var mit problem, men det er jo løst med den modifier Erik tilføjede, /s, så . fanger ALLE tegn inkl. linebreaks :) Det var så det jeg prøvede at løse med \w, \W og jeg skal komme efter efter skal jeg, af alverdens snørklede løsningsmodeller :)
Jeg saa ikke eric's sidste indlaeg da jeg sendte mit (skoent det er langt.) (Ellere rettere, tror jeg, da jeg troede jeg kopierede tekst fra dit indlaeg for at proeve i min kode var det nok i virkeligheden fra hans indlaeg.) Men det er godt at det virker, og jeg fik en oevelse i regular ekspressions og i at finde hvor problemerne var skoent jeg ikke naaede til at loese problemerne.
Kongfjord, dit spoergsmaal synes at vaere besvaret (af en anden end mig.) Kan jeg faa dig til at lukke det? Det giver god orden, og saa staar det ikke laengere som aabent i min liste af indlaeg.
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.