Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Tutorial funktion
08.07.2005, 23:28
Beitrag: #1
Tutorial funktion
Hallo..ich möchte eine Tutorial funktion bei mir einbauen
und zwar speicher ich die Daten folgender Maßen =>
ID||NAME||TITEL||DATUM||TUTORIAL...
und dann kann man natürlich in einem Tutorial auch code einfüngen das hab eich so gemacht=>
[code ]CODE[/code ]...für Code muss dein script hinein
und beim ausgeben möchte ich dann das [code ] zu einem <div> wird und [/code ] zu einem </div>...
und das SCRIPT soll per PHP highgelightet werden(würde ma die funktion highlight_string() nehmen)...aber wie kann ich es machen das er dann code in die klammer kommt?...
zudem habe ich noch das Problem...das er vorher beim speicher alle " in \" umwandelt...was ich natürlich net möchte hab es dann so gemacht=>
PHP-Code:
$text str_replace("
"    
"<brr>"  ,  $text);
            
$datum=date("d.m.Y");
        
$tutoid substr (md5 (uniqid ("")), -10); //id mit 20 zeichen
        
$tutorial  "$tutoid||$autor||$titel||$datum||$text
"
;
        
$datenbank ="$kat.dat"// Pfad zu Speichern der News
        
$datei fopen($datenbank,"a");
        
stripslashes($text);
        
fwrite($datei$tutorial);      //Hier wird in Datei die daten reingeschrieben.
        
fclose($datei); 
trotz stripslashes speichert er die mit Mad
I NEED HELP

MFG

[Bild: blacksoul.jpg]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.07.2005, 02:03
Beitrag: #2
 
Um aus dem [code] ein <div> zu machen kannst du die Funktion str_replace verwenden. Dort wird ein String nach einer bestimmten Zeichenfolge überprüft und wenn sie gefunden wurde wird sie durch eine andere, festgelegte ersetzt.

Bezüglich den " und dem \" kann ich dir sagen, ist es garnicht mal so schlecht wenn du die mitspeichern lässt. Später, wenn du mit MySQL u.a. arbeitest, wirst du sehen das des garnichtmal so schlecht ist. Du solltest stripslashes auch nicht verwenden um keine eintragen zu lassen (da diese Funktion nur vorhandene entfernt) sondern um sie erst garnicht auszugeben. Also lass die Speicherung so wie sie ist und gebe den String, den du ausgeben möchtest per stripslashes aus.

PS: Warum benutzt du schon wieder Textdateien?

PPS: Den Rest hab ich nicht verstanden was du da geschrieben hast. Biggrin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.07.2005, 09:11
Beitrag: #3
 
Datei bezogene Programmierung, lass ihn doch Smile
Endlich bin ich nicht mehr alleine^^

http://blog.rswhite.de/
MaStA schrieb:[...]keiner is perfekt ... außer white!
Stephan Schmidt schrieb:Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.07.2005, 11:16
Beitrag: #4
 
Nein ich will ihn davon abbringen da es einfach mal, meiner Meinung nach, zu umständlich ist als wenn man eine MySQL Tabelle verwenden würde. Außerdem sind Textdateien leichter einzusehen von einem User. Viel leichter als die MySQL Tabelle.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.07.2005, 12:20
Beitrag: #5
 
öhm, also die funktion str_replace is mir bekannt, nur wenn ich dann nen folgenen code habe müsste ich ja [code] ersetzen mit <div style="egal"><?php highlight_string(" <<<und wenn ich dann so nen " habe hört er beim nächsten wieder auf und denkt da is schluss, aber ne frage hätte ich dann noch
1. welchen rest hast du net verstanden*g*
2. wie meinst du das, die $ mit stripslashes ausgeben? wie soll man das amchen? echo stripslashes($text); ?

ähm ja ich nutze schon wieda .txt da ich mysql ja noch net wirklich kann(bzw. kaum außer ne tabelle erstellen^^ und $ zu speichern und so), aber wenn ich die in mysql speicher , weiss ich net wirklich wie ich die ausgeben kann... Mad naja
und was wäre besser wenn ich die mit \" in eine sql speicher? Oo

MFG - dat schwachmatenvieh^^

[Bild: blacksoul.jpg]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.07.2005, 12:51
Beitrag: #6
 
Als erstes möchte ich dich hier im Forum wilkommen heißen, ich hoffe, dass du uns erhalten bleibst Wink

Dann möchte ich darauf eingehen, dass du für die Auszeichnung von Code ein div benutzen möchtest.
Ein div ist Eigenschaftslos und dazu da, um den Quellcode zu strukturieren. Es gibt aber Elemente, die dafür da sind um Code auszuzeichnen.
Eines davon wäre das code Element selbst. Allerdings ist dies ein inline-Element.
Daher kannst du es entweder in ein Blockelement umwandeln (display:block) oder das pre Element nehmen.

Virus schrieb:Um aus dem [code] ein <div> zu machen kannst du die Funktion str_replace verwenden. Dort wird ein String nach einer bestimmten Zeichenfolge überprüft und wenn sie gefunden wurde wird sie durch eine andere, festgelegte ersetzt.
str_replace ist hier aber nicht zu empfehlen. Wenn nämlich nur [code] ohne [/code] eingegeben wird, dann steht ein ungeschlossener Tag im Quelltext. Daher würde ich preg_replace empfehlen.

Wie machen wir es jetzt mit preg_replace, dass alles, was zwischen [code] und [/code] steht in ein pre Element geschrieben und die Funktion highlight_string darauf angewand wird?
Als erstes schreiben wir uns eine Funktion, die den Code highlightet und daraus dann noch XHTML validen Code macht.

[code]
function highlight($str) {
$str = highlight_string(trim($str[1]), true);
$str = str_replace(array('<font ', '</font>'), array('<span class="code" ', '</span>'), $str);
$str = preg_replace('#color="(.*?)"#', 'style="color: \1"', $str);
return $str;
}
[/code]
(der Größteil dieser Funktion ist aus dem php Manual übernommen.)

Aber wie zur Hölle können wir jetzt auf ein Subpattern, von preg_replace eine Funktion anwenden? Garnicht. dafür benötigen wir preg_replace_callback.

Der Code sieht so aus:
$string=preg_replace_callback('§[code]Crying.*)[/code]§Uis',"highlight",$string);
Als erster Parameter wird unser regulärer Ausdruck übergeben, dann der Funktionsname und als letztes der String.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.07.2005, 13:23
Beitrag: #7
 
Zu beachten ist, dass preg_replace_callback erst ab PHP-Version 4.0.5 eingesetzt werden kann.

Hier mal meine Highlight Funktion für PHP-Code:

[code:1]
function php($str) {
if(preg_match("§[php](.*)[/php]§Uis", $str, $matches))
{
$str = preg_match("§[php](.*)[/php]§Uis", $str, $matches);
$matches[0] = @preg_replace("/[php](.*)[/php]/Uis","\1", $matches[0]);
if($matches[0] != "")
{
$matches[0] = stripslashes($matches[0]);

$matches[0] = html_entity_decode($matches[0]);
$matches[0] = str_replace("<br />", "", $matches[0]);

$str = highlight_string($matches[0],true);
$str = substr_replace($str,"<i>PHP - Code</i><br />",0,0);

return $str;
}
}
}
[/code:1]

http://youtube.com/watch?v=lTdn_vjZZp8
Studie: Moorhuhn ist Killerspiel und Egoshooter zugleich!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.07.2005, 14:13
Beitrag: #8
 
öhm, thx ich probier erstmal die untere,
kann es sein das die untere fast das gleiche ist wie die obere?...ich habe schon von codematser einen code bekommen der hat auch funktioniert bis ich dran rumgespielt habe*g*....von nen anderen habsch auch was bekommen, da wurde nix ausgegeben, komischer weise..,
aber mal gucken was jetzte is
$str wäre doch dann bei mir $text oda?, aber noch ne frage, was ist wenn man mehrmals [code ] hat? müsste man doch dann noch ne while-schleife einbauen oda? wenn ja, wo müsste diese jetzte hier hin?

MFG

edit: also er ersetzt code net und highlightet net, aber zumindest gibt er das aus=> "dddd[code:1][/code:1]" <<und im quelltext sieht man auch noch den php code..aber 1. wird er net angezeigt und 2. net highgelightet

[Bild: blacksoul.jpg]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.07.2005, 16:20
Beitrag: #9
 
Wenn du da von meiner Funktion sprichst, dann müsste $str irgendwie so aussehen:

$str = "Trallala hier ein Text und dazwischen irgendwo
PHP-Code:
<? echo "PHP-Code"?>
, hier weiterer Text oder auch nochmal
PHP-Code:
<? echo "Das macht garnichts aus"?>
";

http://youtube.com/watch?v=lTdn_vjZZp8
Studie: Moorhuhn ist Killerspiel und Egoshooter zugleich!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.07.2005, 17:16
Beitrag: #10
 
achsooooo....trotzdem highlight er PHP net und gibt es auch net aus, wenn PHP-code

MFG

[Bild: blacksoul.jpg]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Webslave Tutorial Flo 2 240 03.04.2006 17:38
Letzter Beitrag: Sam Fisher
  Such ein Counter Tutorial... Novadis 4 242 16.05.2005 21:10
Letzter Beitrag: White
  Suche verständlichen Session Tutorial Memorix 5 899 13.01.2005 15:46
Letzter Beitrag: Freshmaker_01
  Probleme mir der GET Funktion Memorix 4 285 23.12.2004 20:53
Letzter Beitrag: Memorix
  Tutorial-Script wecky 4 280 06.10.2004 15:04
Letzter Beitrag: wecky
  PHP Code in meinem Tutorial Script rene 4 360 23.09.2004 13:52
Letzter Beitrag: rene

Gehe zu:

KontaktWebhilfe.infoNach obenZum InhaltArchiv-ModusRSS-Synchronisation