Yell0w Skrevet 19. mai 2003 Del Skrevet 19. mai 2003 trenger litt hjelp her, har problemer med å lage en som replacer med <table width="xx"><td></td></table> og sånt, førstedelen fungerer Dette fungerer: $kilden = ereg_replace("<","&",$kilden); $kilden = ereg_replace(">","&",$kilden); Dette fungerer ikke: $kilden = ereg_replace("[code]","<table width="xx"><td>",$kilden); $kilden = ereg_replace(" ","</td></table>",$kilden); om du kan hjelpe eller eventuelt har mulige erstattninger eller snippets hadde jeg blitt glad om du posta her eller maila meg tilbake Lenke til kommentar
gxi Skrevet 19. mai 2003 Del Skrevet 19. mai 2003 $kilden = ereg_replace("code","<table width="><td>",$kilden); $kilden = ereg_replace("/code","</td></table>",$kilden); (jeg fjerna [] på code for at den ikke skulle ta den som BBCode) Lenke til kommentar
Yell0w Skrevet 21. mai 2003 Forfatter Del Skrevet 21. mai 2003 Kilden nu: if ($kilden && $kilden) { $kilden = ereg_replace("<","&",$kilden); $kilden = ereg_replace(">","&",$kilden); $kilden = ereg_replace("CODESTART","$codestart",$kilden); $kilden = ereg_replace("CODEEND","$codeend",$kilden); stripslashes($kilden); } viss jeg har CODESTART <? echo"something";?> blir det seendes ut som dette: <? echo"something";?> trodde stripslashes ville fikse dette jeg? noen forslag? Lenke til kommentar
rudolfrock Skrevet 21. mai 2003 Del Skrevet 21. mai 2003 du trenger ikke "" rundt variabler. og jeg ville heller ha brukt str_replace(). ta en titt her: http://no2.php.net/manual/en/function.str-replace.php If you don't need fancy replacing rules, you should always use this function instead of ereg_replace() or preg_replace(). $codestart = "<table width="xx"><tr><td>"; $codeend = "</td></tr></table>"; $kilden = str_replace("code", $codestart, $kilden); $kilden = str_replace("/code", $codeend, $kilden); (måtte fjerne [] jeg og....) Lenke til kommentar
Yell0w Skrevet 21. mai 2003 Forfatter Del Skrevet 21. mai 2003 får fremdeles " på echoen koden: <? $codestart = "<br><table border="1" bgcolor="#FFFFCC" cellspacing="0" cellpadding="0"><tr><td height="100" valign="center" align="left">"; $codeend = "</td></tr></table><br>"; echo"Kilden før:"; echo"<br>"; echo"$kilden"; echo"<br>";echo"<br>"; if ($kilden && $kilden) { $kilden = str_replace("<","&",$kilden); $kilden = str_replace(">","&",$kilden); $kilden = str_replace("CODESTART",$codestart,$kilden); $kilden = str_replace("CODEEND",$codeend,$kilden); stripslashes($kilden); } echo"<br>"; echo"Kilden etter:"; echo"<br>"; echo"$kilden"; ?> har du lyst å teste er det bare å kopiere koden og lagre som et php dokument bare definer $kilden som feks. side.php?kilden=<?echo"test"?> Lenke til kommentar
rudolfrock Skrevet 21. mai 2003 Del Skrevet 21. mai 2003 function code_replace($str) { $codestart = "<br><table border="1" bgcolor="#FFFFCC" cellspacing="0" cellpadding="0"><tr><td height="100" valign="center" align="left">"; $codeend = "</td></tr></table><br>"; $str = str_replace("<","&", $str); $str = str_replace(">","&", $str); $str = str_replace("[code]", $codestart, $str); $str = str_replace(" ", $codeend, $str); stripslashes($str); return $str;}echo "Kilden før:"; $replace = " kjør den der du så skal det funke. bare lagre det som en php fil så får du se... Lenke til kommentar
Yell0w Skrevet 21. mai 2003 Forfatter Del Skrevet 21. mai 2003 takker så meget for all hjelp Lenke til kommentar
rudolfrock Skrevet 21. mai 2003 Del Skrevet 21. mai 2003 jo, bare hyggelig så nå at en echo $kilden; hadde lurt seg inn der. den trengs ikke... Lenke til kommentar
sven-o Skrevet 4. juni 2003 Del Skrevet 4. juni 2003 Mange morsomme forslag her, men det enkleste, mest effektive, og mest feilsikre er nok å bruke regulere utrykk. Disse linjene finner MØNSTERET og bytter det ut. Se her: $streng = "[code]Bla bla bla "; $streng = preg_replace("/ På denne måten slipper du å bekymre deg om åpne bbcode-tagger. Da blir det helt enkelt ikke gjort noe med! (Hadde vært kjipt om noen la inn kun en [/code], og vips så er tabelloppsettet på nettsiden din vræka) Lenke til kommentar
Akke Skrevet 14. juli 2003 Del Skrevet 14. juli 2003 Glimrende tråd Driver med det samma nå. Prøvde å rappe kode fra phpbb forumet, men det gikk ikke så bra... hehe... Tenkte også å lage knapper som setter inn koden slik som det er her når man poster. Altså setter inn (B), (u) eller (i) inn i textarea. (med [] istedenfor () seff) Samtidig at man kan merke tekst og klikke (B) så kommer det startkode og sluttkode automatisk rundt teksten. Dette krever vel javascript og det kan jeg NULL av... Noen som veit hvordan koden blir eller har fått ut riktig kode av phpbb2 kildekoden? Takker for svar Akke Lenke til kommentar
z_lakaman Skrevet 15. september 2003 Del Skrevet 15. september 2003 Det er bare å rappe rett ut herifra, men det blir bare surr i andre nettlesere enn nyeste IE, mener jeg å huske, men her er nå iallefall den biten av den jeg bruker: <form action="action.php" method="get" name="form"> <script language="JavaScript" type="text/javascript"> <!-- // bbCode control by // subBlue design // www.subBlue.com // Startup variables var imageTag = false; var theSelection = false; // Check for Browser & Platform for PC & IE specific bits // More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html var clientPC = navigator.userAgent.toLowerCase(); // Get client info var clientVer = parseInt(navigator.appVersion); // Get browser version var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1)); var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1) && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1)); var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1)); var is_mac = (clientPC.indexOf("mac")!=-1); // Helpline nyhets b_help = "Fet tekst: [b]tekst[/b] (alt+b)"; i_help = "Kursiv tekst: [i]tekst[/i] (alt+i)"; u_help = "Understreket tekst: [u]tekst[/u] (alt+u)"; a_help = "Lukk alle åpne tagger"; // Define the bbCode tags bbcode = new Array(); bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]'); imageTag = false; // Shows the help nyhets in the helpline window function helpline(help) { document.form.helpbox.value = eval(help + "_help"); } // Replacement for arrayname.length property function getarraysize(thearray) { for (i = 0; i < thearray.length; i++) { if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null)) return i; } return thearray.length; } // Replacement for arrayname.push(value) not implemented in IE until version 5.5 // Appends element to the array function arraypush(thearray,value) { thearray[ getarraysize(thearray) ] = value; } // Replacement for arrayname.pop() not implemented in IE until version 5.5 // Removes and returns the last element of an array function arraypop(thearray) { thearraysize = getarraysize(thearray); retval = thearray[thearraysize - 1]; delete thearray[thearraysize - 1]; return retval; } function bbstyle(bbnumber) { donotinsert = false; theSelection = false; bblast = 0; if (bbnumber == -1) { // Close all open tags & default button names while (bbcode[0]) { butnumber = arraypop(bbcode) - 1; document.form.nyhet.value += bbtags[butnumber + 1]; buttext = eval('document.form.addbbcode' + butnumber + '.value'); eval('document.form.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"'); } imageTag = false; // All tags are closed including image tags :D document.form.nyhet.focus(); return; } if ((clientVer >= 4) && is_ie && is_win) theSelection = document.selection.createRange().text; // Get text selection if (theSelection) { // Add tags around selection document.selection.createRange().text = bbtags[bbnumber] + theSelection + bbtags[bbnumber+1]; document.form.nyhet.focus(); theSelection = ''; return; } // Find last occurance of an open tag the same as the one just clicked for (i = 0; i < bbcode.length; i++) { if (bbcode[i] == bbnumber+1) { bblast = i; donotinsert = true; } } if (donotinsert) { // Close all open tags up to the one just clicked & default button names while (bbcode[bblast]) { butnumber = arraypop(bbcode) - 1; document.form.nyhet.value += bbtags[butnumber + 1]; buttext = eval('document.form.addbbcode' + butnumber + '.value'); eval('document.form.addbbcode' + butnumber + '.value ="' + buttext.substr(0,(buttext.length - 1)) + '"'); imageTag = false; } document.form.nyhet.focus(); return; } else { // Open tags if (imageTag && (bbnumber != 14)) { // Close image tag before adding another document.form.nyhet.value += bbtags[15]; lastValue = arraypop(bbcode) - 1; // Remove the close image tag from the list document.form.addbbcode14.value = "Img"; // Return button back to normal state imageTag = false; } // Open tag document.form.nyhet.value += bbtags[bbnumber]; if ((bbnumber == 14) && (imageTag == false)) imageTag = 1; // Check to stop additional tags after an unclosed image tag arraypush(bbcode,bbnumber+1); eval('document.form.addbbcode'+bbnumber+'.value += "*"'); document.form .nyhet.focus(); return; } storeCaret(document.form .nyhet); } // Insert at Claret position. Code from // http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130 function storeCaret(textEl) { if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate(); } //--> </script> <script type="text/javascript"> <!-- // Insert at Claret position. Code from // http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130 function emoticon(text) { text = ' ' + text + ' '; if (document.form.nyhet.createTextRange && document.form.nyhet.caretPos) { var caretPos = document.form.nyhet.caretPos; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text; document.form.nyhet.focus(); } else { document.form.nyhet.value += text; document.form.nyhet.focus(); } } function storeCaret(textEl) { if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate(); } //--> </script> <input type="button" class="button" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onclick="bbstyle(0)" onmouseover="helpline('b')" /> <input type="button" class="button" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" onmouseover="helpline('i')" /> <input type="button" class="button" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onclick="bbstyle(4)" onmouseover="helpline('u')" /> <a href="javascript:bbstyle(-1)" onmouseover="helpline('a')">Lukk tagger</a> <p><textarea class="box" cols="54" rows="16" name="nyhet" id="nyhet" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);"></textarea></p> <p><input type="text" name="helpbox" size="46" class="helpline" value="Teksten kan formateres ved enkle grep :-)" maxlength="44" /></p> </form> Lenke til kommentar
Torbjørn Skrevet 22. september 2003 Del Skrevet 22. september 2003 Hva med å linke eksternt til så store kode-snutter som dette? For det første er det få som egentlig har interesse av å lese spaltemetere med kildekode (jeg scroller hvertfall kjapt forbi) og forumets relativt smale sideoppsett egner seg dårlig. 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å