01. marts 2011 - 15:37
Der er
14 kommentarer og 1 løsning
syntax fejl
Kan nogen finde fejlen i denne? Warning: preg_replace() [function.preg-replace]: Unknown modifier ' ' in list.php on line 175 Warning: preg_replace() [function.preg-replace]: No ending delimiter '^' found in list.php on line 177 $text = preg_replace("^\*([^\r\n]*)", "<li>$1</li>", $produkt['varetekst']); $text = preg_replace("^((?:\<li\>.*?\</li>\r\n)+)", "<ul class=\"pkt\">$1</ul>", $text);
Annonceindlæg fra Cornerstones
01. marts 2011 - 15:45
#1
Prøv at ret den første til: '/^*([^\r\n]*)/'
01. marts 2011 - 15:47
#2
Og nummer 2: '%^((?:\b(?=\w)li\b(?!\w).*?\b(?=\w)/li>\r\n)+)%'
01. marts 2011 - 15:55
#3
Fejl nummer 2 forsvandt. Men fejl nummer 1 blev lavet om til: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 1
01. marts 2011 - 16:00
#4
Hvad er det du vil opnå med nummer 1 ? Fjerne alle mellemrum ?
01. marts 2011 - 16:07
#5
Det er et svar på et tidligere spørgsmål jeg oprettede, hvor der blot var en syntax fejl. Meningen er, at den skal erstatte *-punkter med <li> punkter. Altså Tekst tekst tekst * punkt 1 * punkt 2 * punkt 3 Tekst tekst tekst med Tekst tekst tekst <ul> <li>punkt 1</li> <li>punkt 1</li> <li>punkt 1</li> </ul> Tekst tekst tekst
01. marts 2011 - 16:08
#6
Og så var der en som forslog de 2 reg exp. Jeg er ikke selv inde i reg exp.
01. marts 2011 - 16:18
#7
Prøv den der: $text = preg_replace('/\*([^\r\n]+)/', '<li>$1</li>', $produkt['varetekst']);
01. marts 2011 - 16:22
#8
Og så bagefter denne: $text = preg_replace('%(?:<li>.*?</li>\r\n)+%', '<ul class=\"pkt\"></ul>', $text);
01. marts 2011 - 16:33
#9
Den første fungerer vist fint. Men nr. 2 indsætter ul og fjerner li'erne
01. marts 2011 - 16:55
#10
$text = preg_replace('%(?:<li>.*?</li>\r\n)+%', '<ul class=\"pkt\"></ul>', $text); Skal også være: $text = preg_replace('%((?:<li>.*?</li>\r\n)+)%', '<ul class=\"pkt\">$1</ul>', $text);
02. marts 2011 - 07:28
#11
Tak for tålmodigheden :) Ovenstående kommer til at give: <ul class=\"pkt\"><li> 10" hjul</li><br /> <li> 35 cm. høje sider</li><br /> <li> Plastskærme</li><br /> </ul><li> mm.</li>
02. marts 2011 - 07:40
#12
<br /> kommer fra en nl2br() som skal behandle den øvrige tekst
04. marts 2011 - 22:46
#13
Når der ikke er tekst efter det sidste punkt, så udskrives </ul> inden den sidste <li> altså som # 11 Kan det fixes?
11. marts 2011 - 15:59
#14
Ligger du et svar, så vi kan få lukket? tak for hjælpen
07. august 2011 - 16:35
#15
lukker
Vi tilbyder markedets bedste kurser inden for webudvikling