26. august 2008 - 15:46
Der er
8 kommentarer og 1 løsning
Lidt problemer med nl2br
Jeg har lidt mixede data i et alm textarea som jeg gemmer i min database. mit problem er at jeg gerne vil holde det meget simpelt, så man kan bruge html og tekst sammen. men når jeg skriver en tekst sådan her bliver den jo opdelt via nl2br men når jeg indsætter en tabel som <table> <tr> <td></td> <td></td> </tr> </table> så laver den linjeskift efter hvert tag, som jo bliver skudt ind lige over tabellen har prøvet med noget replace </table>\n </tr>\n </td>\n etc. men syns ikke lige jeg kan bevare overblikket over hvad der sker pga træthed :) er der nogen der har været ude for samme problemstilling? håber i forstår da det sikkert er skrevet lidt "blankt"
Annonceindlæg fra Kommando
26. august 2008 - 15:55
#1
Hvis du skriver: <table> <tr> <td></td> <td></td> </tr> </table> Og smider det igennem nl2br(), hvad siger du så det bliver til ? Og hvad vil du have det skal blive til ?
26. august 2008 - 15:56
#2
Du bruger sikkert et textarea, men hvad med at bruge en HTML editor som fx. FCKEditor
26. august 2008 - 16:06
#3
jakobdo <table><br /> <tr><br /> <td></td><br /> <td></td><br /> </tr><br /> </table><br /> Men fik lavet den her, hvilket fjerner det.. men sætter jeg foreksempel width='' ind på mit <table> tag holder den jo ikke helt.. :) så leder efter en bedre løsning.. $content = $r1['content']; $content = stripslashes(nl2br($content)); $content = str_replace("<table><br />", "<table>", $content); $content = str_replace("</table><br />", "</table>", $content); $content = str_replace("<tr><br />", "<tr>", $content); $content = str_replace("</tr><br />", "</tr>", $content); $content = str_replace("<td><br />", "<td>", $content); $content = str_replace("</td><br />", "</td>", $content); Kender godt fckeditor og et par andre, men ville helst uden om disse den her gang :)
26. august 2008 - 17:21
#4
Du kunne nøjes med en replace, som hed: $content = str_replace("><br />", ">", $content);
27. august 2008 - 11:44
#5
Det overvejede jeg, men vil gerne ha efter fx <b> <i> <u> <img> etc :)
27. august 2008 - 12:24
#6
Hvad så meget noget ala: $result = preg_replace('%<(/?)(table|td|tr)([^<]?)><br />%i', '<$1$2$3>', $subject);
04. november 2010 - 15:36
#7
jeg stirrer mig stadig blind på regexp.. :) er ved at lukke gamle åbne tråde. vil du ha nogle points for din tid? eller skal jeg bare lukke ned?
04. november 2010 - 15:40
#8
Du bestemmer. Du får ihf. et svar. :o)
11. november 2010 - 15:20
#9
Takker for point
Vi tilbyder markedets bedste kurser inden for webudvikling