[NOPASTE] Denkfehler

sonnySTAR

Erfahrenes Mitglied
Guten Tach,

Hab mal wieder nen Denkproblem ;P ...
ich bin momentan dabei ein "nopaste" system wie es auf http://nopaste.php-q.net zu sehen ist zu programmieren. Allerdings bekomme ich es nicht gebacken, die Zahlen die links stehen zu "programmieren". Beispiel: http://nopaste.php-q.net/175702 ... links werden die Zeilen nummeriert ... allerdings weiß ich nicht wie ich das machen soll :confused:

Vielelicht könnt ihr mir ja einen Denkanstoß geben :-/

Vielen Dank im Vorraus:)
 
Verwende doch eine Tabelle mit zwei Spalten und sovielen Zeilen wie Codezeilen. Dann kommt in die erste Spalte jeweils die Zeilennummer und in die zweite Spalte die dazugehörige Codezeile.
 
ich würde ermitteln wieviele "\n" (Zeilenumbruch) der eingegebene Text beinhaltet.
Wenn das nicht kannst du auch den gesamten eingegebenen Text (Sprich das Skript) nach dem Ascii-Code für einen Zeilenumbruch (carriage return) durchsuchen.

So oft, wie eben dieser Zeilenumbruch vorkommt, muss auch das Feld numeriert werden. Den inhalt jeder Zeile kannste dann in ein Array lesen und einfach passend speichern!
Sprich so:

$test[zeile][inhalt]

// Bsp

"bla
bla2
bla und suelz"

=>
$test[0]["bla"]
$test[1]["bla2"]
$test[2]["bla und suelz"]

Und so weiter!

Ich hoffe das hilft als Hinweis?
 
hmmm eher nicht :_/ ...

Bin leider noch nen totaler Anfänger in Sachen PHP ...

Wie muss dass denn ungefähr aussehen ? Hast du da zufällig ein Beispiel ?

Wäre nett

MFG
Tim
 
Du wirst es ja in eine MySQL Datei speichern...

das holst du raus und machst dann:

PHP:
$textarray = explode("\n", $dein_text_aus_der_db);
foreach($textarray as $zn => $text){
  echo "<tr><td>$zn</td><td>$text</td></tr>";
}

Noch nen bissle formatieren, und es sieht gut aus ^^

EDIT: Ups da war eine Variablenüberschreibung drin... sorry :P
 
Zuletzt bearbeitet:
Okay, habe es gerade getestet ...

Nun habe ich folgendes Problem:
Es zeigt nur 4 Zeilen an, dabei ist der text 8 oder 9 Zeilen lang ...

Preview: *KLICK*

Hier der Code für die Ausgabe:
PHP:
<?
		$highlight = highlight_string($row['php'], TRUE);

	 $highlight2 = explode("\n", $highlight);
foreach($highlight2 as $zn => $highlight2){
  echo "<tr><td>$zn</td><td>$highlight2</td></tr>";
}  
?>

Was ist daran Falsch ? :-/
Nochmals Danke im Vorraus ;D
 
Hi!

Hier ist ein dicker Fehler:
foreach($highlight2 as $zn => $highlight2){
Du überschreibst dein Array, da du den selben Variablennamen doppelt verwendest. Ändere das zweite "$highlight2" einfach in "$txt" o. ä. ab und passe entsprechend die "echo"-Zeile an.

Mamphil
 
Wenn ich es richtig Verstanden hab dürfte es nun so aussehen:
PHP:
<?
		$highlight = highlight_string($row['php'], TRUE);

	 $highlight2 = explode("\n", $highlight);
foreach($highlight2 as $zn => $ausgabe){
  echo "<tr><td>$zn</td><td>$ausgabe</td></tr>";
} 
?>

Allerdings ist es noch der gleiche Fehler :D
 
Do it this way:
PHP:
<?
     $highlight2 = explode("\n", $row['php']);
foreach($highlight2 as $zn => $ausgabe){
  echo "<tr><td>$zn</td><td>".highlight_string($ausgabe, TRUE)."</td></tr>\n";
} 
?>
Das sollte funktionieren - die seltsame highlight_string-Funktion hat deinen HTML-Code etwas zerfressen...

Mamphil
 
Zurück