PHP code regelnummers
17 antwoorden
Gesponsorde links
Geerios - 30/11/1999 00:00
Onbekend
misschien kan je een tabel makenrn---------------rnnummertekstrnnummertekstrnnummertekstrnnummertekstrn---------------rnenz. en dan het nummer, voor dat is een script (ik weet ff nie meer waar ie staat)rnrnZo denk ik teminste p
NCube - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
HTML beginner
Je kan dat zo doenrn[code]phprn$tekst=Regel 1rnRegel 2rnRegel 3;rnrnExploden bij elke newline, dus elke regel staat appart in de array.rn$array=explode(n,$tekst);rnrnecho table;rnfor($i=1;$i=count($array);$i++){rn echo trtd.$i.tdtd.$array[($i-1)].tdtr;rn}rnecho table;rn[code]
Thomas - 30/11/1999 00:00
Moderator
Was het maar zo makkelijk - daarna moet je nog een heleboel klooien met CSS om het er zowel in FF als IE goed uit te laten zien... Maar het principe is wel zoals NCube beschrijft - je explode op het aantal regelnummers. Alleen ik gebruik maar 2 cellen in mijn code-tabel - 1 voor de regelnummers, en 1 voor de code zelf... Maar dan ben je er nog lang niet.
Wijnand - 30/11/1999 00:00
Moderator
Wat jij waarschijnlijk bedoeld is die scrollbar fangorn of niet Want ik wil dat juist niet hebben. Maar dat scriptje erboven zal ik eens gaan proberen en ik gok wel dat hij geeft wat ik wil.rnrnthx allebei voor je reacties )
Fenrir - 30/11/1999 00:00
PHP expert
Zoals NCube zegt werkt wel, maar is niet zo handig, omdat je als je de code selecteert, je dan ook de regelnummers selecteert. Dan moet je dus regel voor regel gaan knippenplakken.rnrnIk zal een script schrijven dat regelnummers toevoegt, een mom.
Wijnand - 30/11/1999 00:00
Moderator
Ja ok... dat klopt natuurlijk wel. Het is wel wat meer werk voor de server maar dit zal niet zo hoog zijn. Maar als jij een betere oplossing hebt, dan zou dat leuk zijn )
Fenrir - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
PHP expert
Phew, dat was lastigrnrn[code]htmlrnheadrn style type=textcssrn rn .codeblockrn {rn padding 0px;rn position relative;rn }rn rn .codeblock .codern {rn padding-left 50px;rn width 500px;rn background #EEE;rn border-right 1px solid #666;rn border-bottom 1px solid #666;rn border-top 1px solid #666;rnrn }rn rn .codeblock .linenumbersrn {rn position absolute;rn top 0px;rn width 40px;rn padding 0px 3px 0px 0px;rn text-align right;rn background #DDD;rn border 1px solid #666;rn vertical-align top;rn }rn rn .codeblock .linenumbersrn {rn top -13px;rn }rn rn stylernheadrnbodyrnrnphprnerror_reporting(E_ALL);rnrnfunction line_wrap($str, $cols = 60, &$arr)rn{rn $lines = explode(n, $str);rn $newlines = array();rn $linecount = array();rn rn foreach($lines as $nr = $line)rn {rn $times = floor(strlen($line) $cols);rn $newlines[] = chunk_split($line, $cols, n);rn $linecount[$nr + 1] = $times;rn }rn rn $arr = $linecount;rn return implode('', $newlines);rn}rnrnfunction regelnummers($str)rn{rn $times = 2 + substr_count($str, n);rn rn $insstr = line_wrap($str, 60, $arr);rn rn $ret = 'div class=codeblockpre class=linenumbers';rnrn for($i = 1; $i $times; $i++)rn {rn $ret .= $i . str_repeat(n, $arr[$i]) . n;rn }rn rn $ret .= 'prepre class=code' . $insstr . 'prediv';rnrn return $ret;rn}rnrnecho regelnummers('regel 1rnregel 2regel 2regel 2regel 2rl 2regel 2rl 2regel 2rl 2regel 2rl 2regel 2rl 2regel 2rl 2regel 2rl 2regel 2rl 2regel 2rl 2regel 2rrnregel 3rnregel 4rnregel 5rnregel 6rnregel 4rnregel 5rnregel 6rnregel 4rnregel 5rnregel 6regel 6regel 6regel 6regel 6regel 6regel 6regel 6regel 6regel 6regel 6regel 6regel 6regel 6regel 6regrnregel 4rnregel 5rnregel 6rnregel 7');rnrnrnbodyrnhtml[code] rnrnzonder scrollbar!rnrnje krijgt zo'n outputrnrn[code]rn1 regel1rn2 regel2 regel2 regel2 regel2 regel2 regel2 rn regel2 regel2 regel2 regel2 regel2 regel2 rn3 regel3regel3regel3regel3regel3regel3regel3regel3rn4 regel4regel4regel4regel4regel4regel4regel4regel4rn regel4regel4regel4regel4regel4regel4regel4regel4rn regel4regel4regel4regel4regel4regel4regel4regel4rn5 regel5[code] rnrnals je deze string hebtrn[code]1 regel1rn2 regel2 regel2 regel2 regel2 regel2 regel2 regel2 regel2 regel2 regel2 regel2 regel2 rn3 regel3regel3regel3regel3regel3regel3regel3regel3rn4 regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4regel4rn5 regel5[code]
Wijnand - 30/11/1999 00:00
Moderator
Ok hij werkt, ik heb er nog een toevoegingkje aangemaakt maar ik ben nu aan het proberen om hem highlight_string() te maken maar dat gaat niet helemaal werken. Want steeds beland die tekst buiten de tabel. Ik ga het verder proberen maar als iemand toevallig ziet waar ik die highlight_string() zou moeten zeggen dan zou dat handig zijn.
Fenrir - 30/11/1999 00:00
PHP expert
Ik schrijf straks mss nog een versie met highlight string. Dan moet je een paar dingen aanpassen.
Wijnand - 30/11/1999 00:00
Moderator
Dan heb je meteen weer een leuk script gemaakt voor sitemasters.
Fenrir - 30/11/1999 00:00
PHP expert
De code-highlight-versiernrn[code]htmlrnheadrn style type=textcssrn rn .codeblockrn {rn padding 0px;rn position relative;rn }rn rn .codeblock .codern {rn padding-left 50px;rn width 500px;rn background #EEE;rn border-right 1px solid #666;rn border-bottom 1px solid #666;rn border-top 1px solid #666;rnrn }rn rn .codeblock .linenumbersrn {rn position absolute;rn top 0px;rn width 40px;rn padding 0px 3px 0px 0px;rn text-align right;rn background #DDD;rn border 1px solid #666;rn vertical-align top;rn }rn rn .codeblock .linenumbersrn {rn top -13px;rn }rn rn stylernheadrnbodyrnrnphprnerror_reporting(E_ALL);rnrnfunction line_wrap($str, $cols = 60, &$arr)rn{rn $lines = explode(n, $str);rn $newlines = array();rn $linecount = array();rn rn foreach($lines as $nr = $line)rn {rn $times = floor(strlen($line) $cols);rn $newlines[] = chunk_split($line, $cols, n);rn $linecount[$nr + 1] = $times;rn }rn rn $arr = $linecount;rn $ret = implode('', $newlines);rn return $ret;rn}rnrnfunction regelnummers($str)rn{rn rn $times = 2 + substr_count($str, n);rn rn $insstr = highlight_string(line_wrap($str, 60, $arr), true);rn rn $ret = 'div class=codeblockpre class=linenumbers';rnrn for($i = 1; $i $times; $i++)rn {rn $ret .= $i . str_repeat(n, $arr[$i]) . n;rn }rn rn $ret .= 'prediv class=code' . $insstr . 'divdiv';rnrn return $ret;rn}rnrnecho regelnummers('phprnrnfunction line_wrap($str, $cols = 60, &$arr)rn{rn $lines = explode(n, $str);rn $newlines = array();rn $linecount = array();rn rn foreach($lines as $nr = $line)rn {rn $times = floor(strlen($line) $cols);rn $newlines[] = chunk_split($line, $cols, n);rn $linecount[$nr + 1] = $times;rn }rn rn $arr = $linecount;rn $ret = implode(, $newlines);rn return $ret;rn}rnrn');rnrnrnbodyrnhtml[code]
Wijnand - 30/11/1999 00:00
Moderator
Hij werkt, bedankt fernir. Ik had hier zelf niet zo snel opgekomen...
Fenrir - 30/11/1999 00:00
PHP expert
Betere versie (de andere werkte niet bij lange regels)rnrn[code]htmlrnheadrn style type=textcssrn rn .codeblockrn {rn padding 0px;rn position relative;rn }rn rn .codeblock .codern {rn padding-left 50px;rn width 500px;rn background #EEE;rn border-right 1px solid #666;rn border-bottom 1px solid #666;rn border-top 1px solid #666;rnrn }rn rn .codeblock .linenumbersrn {rn position absolute;rn top 0px;rn width 40px;rn padding 0px 3px 0px 0px;rn text-align right;rn background #DDD;rn border 1px solid #666;rn vertical-align top;rn }rn rn .codeblock .linenumbersrn {rn top -13px;rn }rn rn stylernheadrnbodyrnrnphprnerror_reporting(E_ALL);rnrnfunction line_wrap($str, $cols = 60, &$arr)rn{rn $lines = explode(n, $str);rn $newlines = array();rn $linecount = array();rn rn foreach($lines as $nr = $line)rn {rn $times = floor(strlen($line) $cols);rn $newlines[] = implode(n, str_split($line, $cols));rn $linecount[$nr + 1] = $times;rn }rn rn $arr = $linecount;rn $ret = implode(n, $newlines);rn return $ret;rn}rnrnfunction regelnummers($str)rn{rn rn $times = 2 + substr_count($str, n);rn rn $insstr = highlight_string(line_wrap($str, 50, $arr), true);rn rn $ret = 'div class=codeblockpre class=linenumbers';rnrn for($i = 1; $i $times; $i++)rn {rn $ret .= $i . (($arr[$i] 1) (str_repeat(br , $arr[$i])) '') . n;rn }rn rn $ret .= 'prediv class=code' . $insstr . 'divdiv';rnrn return $ret;rn}rnrnecho regelnummers('phprnrnfunction line_wrap($str, $cols = 60, &$arr)rn{rn # Lange regel Lange regel Lange regel Lange regel Lange regel Lange regel Lange regel Lange regel Lange regel Lange regel regel Lange regel Lange regel Lange regel Lange regel Lange regel.rn rn $lines = explode(n, $str);rn $newlines = array();rn $linecount = array();rn rn foreach($lines as $nr = $line)rn {rn $times = floor(strlen($line) $cols);rn $newlines[] = chunk_split($line, $cols, n);rn $linecount[$nr + 1] = $times;rn }rn rn $arr = $linecount;rn $ret = implode(, $newlines);rn return $ret;rn}rnrn');rnrnrnbodyrnhtml[code]
Wijnand - 30/11/1999 00:00
Moderator
Fatal error Call to undefined function str_split() in dprogrammaseasyphpwwwhighlight_code.php on line 55
Fenrir - 30/11/1999 00:00
PHP expert
Ik zal straks mss een php4 variant van str_split() schrijven.
Wijnand - 30/11/1999 00:00
Moderator
ok is goed. Dan kun je die zelfs ook nog bij scripts toevoegen. Tot zover bedankt.
Squirrel - 30/11/1999 00:00
HTML interesse
FF bij de concurentie snuffelen kan soms ook geen kwaad D rnrnhttpwww.webscripters.nlscriptsscript.phpid=95rnhttpwww.webfanaat-sg.nlscripts.phpbekijk=415rnrngrtz
Gesponsorde links
Dit onderwerp is gesloten .