joffar Skrevet 27. juli 2004 Del Skrevet 27. juli 2004 Tror at det kan bli løst slik.. dersom det søkes etter ett enkelt ord, setter du variablen $hl = ' søkeord '; Derved søkes det etter ett ord med mellomrom på begge sider, dersom en finner ett ord med [søkeord] blir det ignorert fordi det ikke matcher søkeordet. Men ... trådstarter har ikke vært innom på en stund så han har kanskje funnet ut av det... Lenke til kommentar
hackinnen^ Skrevet 28. juli 2004 Del Skrevet 28. juli 2004 Hvorfor bruke <i> eller CSS når man kan bruke <em>(istedet for <i>) og <strong>(istedet for <b>)? XHTML er det også Burde man ikke skrive svaret man kommer frem til når man får hjelp her? Lenke til kommentar
Gilbert Skrevet 28. juli 2004 Forfatter Del Skrevet 28. juli 2004 nei har ikke vært inne siden i går. jobber litt ved siden av å ha fritid vettu skal se igjennom tråden i morgen eller lørdag, takk for all hjelp så langt Lenke til kommentar
Gilbert Skrevet 31. juli 2004 Forfatter Del Skrevet 31. juli 2004 $input = preg_replace("#\[b\](.+?)\[/b\]#", "<b>\\1</b>", $input); Så langt jeg har forsøkt, takler ikke denne linjeskift... har lest litt på regular-expressions.com, og forstått at en dot er et linjeskift? *forvirret* Lenke til kommentar
joffar Skrevet 1. august 2004 Del Skrevet 1. august 2004 $input = preg_replace("#\[b\](.+?)\[/b\]#", "<b>\\1</b>", $input); Så langt jeg har forsøkt, takler ikke denne linjeskift... har lest litt på regular-expressions.com, og forstått at en dot er et linjeskift? *forvirret* Det er noen forskjeller fra den jeg bruker... so.. vet som sagt ikke stort om dette..men her er den jeg bruker.. $input = preg_replace("#\[b](.*?)\[\/b\]#is", "<strong>$1</strong>", $input); Lenke til kommentar
Gilbert Skrevet 1. august 2004 Forfatter Del Skrevet 1. august 2004 yey!! digg. da funker det oxo ! Lenke til kommentar
torms Skrevet 27. august 2004 Del Skrevet 27. august 2004 (endret) Gjør det noe om jeg fortsetter på denne? Jeg har en tekstboks for input. Innholdet blir lagret i db. Når jeg hente ut strengen vil jeg ha linjeskiftene slik den ble skrevet inn. Dvs gjøre om \r\n til <br> Har lest litt i manualen og sett noen eksempel der. Får det bare ikke til å fungere. Dette er det jeg har forsøkt: //Henter ut data fra arrayet: $z1=$brow[info]; //Skal etter sigende erstatte \r\n eller \r eller \n: $z1 = preg_replace("/(\r\n|\n|\r)/", "<br>", $z1); //En annen variant: $z1 = preg_replace("/(\015\012)|(\015)|(\012)/","<br />",$z1); Edit: Har det noe å si at jeg har valgt datatypen BLOB (vet ikke hva det er engang..) i mysql ? -torms Endret 27. august 2004 av torms Lenke til kommentar
Smidt Skrevet 27. august 2004 Del Skrevet 27. august 2004 om du bare vil ha linjeskiftene som opprinnelig kommer fra tekstboksen omgjort til linjeskift igjen når de kommer ut fra db'en bruker jeg bare dette: $innhold_fra_db=nl2br($innhold_fra_db); funker fett for meg. Lenke til kommentar
torms Skrevet 27. august 2004 Del Skrevet 27. august 2004 (endret) Det gjør det ikke til meg: Et utdrag fra utskriften: udd i\r\nalle klasser.\r\nPå En annen linje: irant (alle)\r\nVelkommen Edit: Her er det jeg får ut før kjøring av metoder: Dette er tekstboksen min. Jeg teste og jeg tester her er et linjeskift:\r\nOg her er et til:\r\nHva med et tredje?\r\nSlenger på det fjerde med det samme jeg er i gang! Her er etter nl2br: Dette er tekstboksen min. Jeg teste og jeg tester her er et linjeskift:\r\nOg her er et til:\r\nHva med et tredje?\r\nSlenger på det fjerde med det samme jeg er i gang! Altså det samme! Edit2: Oppdaget noe merkelig. Hva er det jeg har gjort? Når jeg skriver ut innholdet i tekstboksen _før_ jeg lagrer i db: Info: Linjeskift:\\r\\nEnda ett:\\r\\nDet tredje:\\r\\nFjerde: Skitt..jeg kjører denne funksjonen på strengen før den lagres i db: function fix($s) { $s=rtrim(ltrim(strip_tags($s))); return mysql_escape_string($s); } Kan det lage problem for meg? -torms Endret 27. august 2004 av torms Lenke til kommentar
jorgis Skrevet 27. august 2004 Del Skrevet 27. august 2004 Det beste vil være å kjøre nl2br() på strengen _FØR_ den kommer til databasen, siden den slipper å kjøres hver gang siden lastes, samt at du ikke får trøbbel med mysql_escape_string(), som ødelegger totalt for nl2br(). Legg inn følgende linje i fix()-funksjonen din (i steden for den som er der fra før): $s=rtrim(ltrim(nl2br(strip_tags($s)))); Hvis du da kjører fix() før du dytter dataene inn i databasen, vil det funke fint. Lenke til kommentar
torms Skrevet 30. august 2004 Del Skrevet 30. august 2004 Det beste vil være å kjøre nl2br() på strengen _FØR_ den kommer til databasen, siden den slipper å kjøres hver gang siden lastes, samt at du ikke får trøbbel med mysql_escape_string(), som ødelegger totalt for nl2br(). Legg inn følgende linje i fix()-funksjonen din (i steden for den som er der fra før): $s=rtrim(ltrim(nl2br(strip_tags($s)))); Hvis du da kjører fix() før du dytter dataene inn i databasen, vil det funke fint. Linjeskiftene fungerer med det du sier men får fortsatt med \r\n i utskriften. Ett skritt nærmere.. -torms Lenke til kommentar
torms Skrevet 30. august 2004 Del Skrevet 30. august 2004 Dette var det jeg kom fram til slutt: Alt _før_ lagring i db (takk til jorgis for det tipset). $info= preg_replace("/(\015\012)|(\015)|(\012)/"," <br/>", $info); $info=mysql_escape_string($info); -torms Lenke til kommentar
Torbjørn Skrevet 30. august 2004 Del Skrevet 30. august 2004 her er hva manualen sier om nl2br: Returns string with '<br />' inserted before all newlines. mao, den fjerner ikke \r\n, den setter bare inn <br/> før \r\n. jeg vil fraråde å formatere tekst før den settes inn i databasen. da har du låst teksten til å være html formatert, og gjøre den tungvindt å bruke i andre sammenhenger, mail, logfil, sqldump, shell, phpmyadmin, etc... teksten bør lagres så generell som mulig og formateres for visning like før den skal vises. nl2br() koster et minimum av ressurser å kjøre på et par strenger. Lenke til kommentar
torms Skrevet 30. august 2004 Del Skrevet 30. august 2004 jeg vil fraråde å formatere tekst før den settes inn i databasen. da har du låst teksten til å være html formatert, og gjøre den tungvindt å bruke i andre sammenhenger, mail, logfil, sqldump, shell, phpmyadmin, etc... Sikkert riktig det Torbjørn og lover å følge rådet ditt ved senere anledning Men dette tilfelle skal det kun vises på skjerm Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå