Insert INTO mit Sonderzeichen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • xManUx
    antwortet
    Original geschrieben von TobiaZ
    Aso. normalerweise wird das als backreferenz bezeichnet.

    wie der name schon sagt, wir da halt das zeugs was du mit dem pattern raussuchst eingefügt.

    aber kommt aufs selbe raus

    bin jederzeit gern bereit php sprachorientierte wörter dazu zu lernen ;D

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    Aso. normalerweise wird das als backreferenz bezeichnet.

    wie der name schon sagt, wir da halt das zeugs was du mit dem pattern raussuchst eingefügt.

    aber kommt aufs selbe raus

    Einen Kommentar schreiben:


  • xManUx
    antwortet
    Original geschrieben von TobiaZ
    trennen?
    ist doch richtig, das alles vor \1 vor dem text des [quotes] hinzugefügt wird bzw formatiert wird und alles nach \1 das nach dem text.. des hab ich mich trennen gemeint

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    trennen?

    Einen Kommentar schreiben:


  • xManUx
    antwortet
    Original geschrieben von Wurzel
    genauso wie bei [ B] [ /B]:
    Code:
    $start = '<table width=100%><tr bgcolor=#FEE9CB><td>[schwarz]<font size=1><i>Quote:</i><font size=2><br><hr />';
    $ende = '<hr /></td></tr></table>[schwarz]';
    echo preg_replace('!\[quote\](.*)\[\/quote\]!Uis', $start.'\\1'.$ende, $beitrag );
    tipp: von ereg(i)_replace() solltest du besser die finger lassen,
    ausserdem wäre bei einer "einzelersetzung" str_replace() besser,
    weil schneller als die regulären
    gut zu wissen hab ich gar net gewusst! steht au irgendwo warum das so ist?

    Einen Kommentar schreiben:


  • xManUx
    antwortet
    Original geschrieben von wahsaga
    warum machst du das nicht analog wie oben bei [ b ] und co. - wo ist deiner meinung nach der unterscheid zu [ quote ]?

    $beitrag = preg_replace('=\[ quote \ ](.*)\[ / quote \ ]=Uis','<table width=100%><tr bgcolor=#FEE9CB><td><font size=1><i>Quote:</i><font size=2><br><hr />\1<hr /></td></tr></table>', $beitrag);


    btw: die font-tags natürlich auch wieder schliessen, wenn du sie aufmachst (oder kamen die durch's forum?) - bzw. besser gar nicht verwenden, und stattdessen CSS für solche formatierungen anwenden.
    ich wusste nicht, dass man das via \1 trennen kann... aber danke!

    hmm meinst du dass man quasi <style>blablahblah</style>

    <table class='blah'> benutzt?

    Einen Kommentar schreiben:


  • Wurzel
    antwortet
    genauso wie bei [ B] [ /B]:
    Code:
    $start = '<table width=100%><tr bgcolor=#FEE9CB><td>[schwarz]<font size=1><i>Quote:</i><font size=2><br><hr />';
    $ende = '<hr /></td></tr></table>[schwarz]';
    echo preg_replace('!\[quote\](.*)\[\/quote\]!Uis', $start.'\\1'.$ende, $beitrag );
    tipp: von ereg(i)_replace() solltest du besser die finger lassen,
    ausserdem wäre bei einer "einzelersetzung" str_replace() besser,
    weil schneller als die regulären

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    warum machst du das nicht analog wie oben bei [ b ] und co. - wo ist deiner meinung nach der unterscheid zu [ quote ]?

    $beitrag = preg_replace('=\[ quote \ ](.*)\[ / quote \ ]=Uis','<table width=100%><tr bgcolor=#FEE9CB><td><font size=1><i>Quote:</i><font size=2><br><hr />\1<hr /></td></tr></table>', $beitrag);


    btw: die font-tags natürlich auch wieder schliessen, wenn du sie aufmachst (oder kamen die durch's forum?) - bzw. besser gar nicht verwenden, und stattdessen CSS für solche formatierungen anwenden.

    Einen Kommentar schreiben:


  • xManUx
    antwortet
    Original geschrieben von wahsaga
    wer wählt denn solche tabellennamen?

    sorry, aber das find' ich reichlich ... meschugge.

    für'n tabellennamen nimmt man ein wort, ggf. auch zwei, mit einem _ verbunden - aber doch keine phrasen dieser art ...

    bin mir auch nicht sicher, ob das mit http://www.mysql.com/doc/de/Legal_names.html konform geht.
    werde ne alternative suchen... aber trotzdem danke !! mhh hätte da noch ne frage.. ( will ja net schon wieder einen neuen thread aufmachen )

    und zwar hab ich in meinem forum das mit den bbcode etc..

    PHP-Code:
    $beitrag preg_replace('=\[ b \ ] (.*)\[ / b \ ]=Uis','<span style="font-weight:bold;">\1</span>'$beitrag);
    $beitrag preg_replace('=\[ i \ ](.*)\[ / i \ ]=Uis','<span style="font-style:italic;">\1</span>',$beitrag); 
    usw.. wie würde das mit dem quoten aussehen? bekomme das einfach nicht gebacken.. hab auch schon nach etlichen beispielen gesucht aber nix gefunden

    wie ich das mim quoten bisher hab:

    PHP-Code:

           $beitrag 
    eregi_replace ' \ [ quote \ ]''<table width=100%><tr bgcolor=#FEE9CB><td>[schwarz]<font size=1><i>Quote:</i><font size=2><br><hr />'$beitrag );
           
    $beitrag eregi_replace '\[/quote\]''<hr /></td></tr></table>[schwarz]'$beitrag ); 
    wie würde man das richtig anstellen?!

    grüßle,
    manu

    Einen Kommentar schreiben:


  • Offe1
    antwortet
    die tabelle "What's going on?!" existiert als Forum und ist auch in der MySQL-Datenbank so vorhanden...
    Ich dachte noch vor 6 Jahren Leerzeichen in Dateinamen seien unsinnig. Waren auf meinem Samba-Server früher ein Problem.

    Offe

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Original geschrieben von xManUx
    die tabelle "What's going on?!" existiert als Forum und ist auch in der MySQL-Datenbank so vorhanden...
    wer wählt denn solche tabellennamen?

    sorry, aber das find' ich reichlich ... meschugge.

    für'n tabellennamen nimmt man ein wort, ggf. auch zwei, mit einem _ verbunden - aber doch keine phrasen dieser art ...

    bin mir auch nicht sicher, ob das mit http://www.mysql.com/doc/de/Legal_names.html konform geht.

    Einen Kommentar schreiben:


  • xManUx
    antwortet
    in $forume steht bei dir also irgendwas in der art
    (what)'s going on?!
    ja


    drin - und das willst du bei diesem insert als den namen der tabelle, in die du einfügen willst, verwenden!?! ist ganz bestimmt nicht dein ernst ...
    why?


    mach dir bitte mal klar, was bei dir in welcher variablen drinsteht!
    wie ist das gemeint!? die tabelle "What's going on?!" existiert als Forum und ist auch in der MySQL-Datenbank so vorhanden...

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Original geschrieben von xManUx
    PHP-Code:
     {  $forumA $userdaten["forum"]; }

    $item $forumA;
    $escaped_item mysql_escape_string($item);

    $forume $escaped_item
    dass sich bei dieser variablen-hin-und-herschubserei jeder programmierer nur an den kopf packen kann, ist dir bewusst ...?

    warum nicht gleich
    $forume = mysql_escape_string($forumA); ?


    PHP-Code:
    ## Einfügen! ##
         
    $sql "INSERT INTO $forume ( von, thread, ip, browser, zeit, beitrag) VALUES ( '$nickname', '$thema', '$ip', '$browser', '$datum', '$beitrag')";
       
    mysql_query$sql$db ) or die ( mysql_error() ); 

    In das INSERT INTO in Forumthreads kommts durch aber in der zweiten nicht..

    Fehlermeldungweiterhin:

    You have an error in your SQL syntax near '\'s going on?! ( von, thread, ip, browser, zeit, beitrag) VALUES ( '', 'asdf', '' at line 1
    in $forume steht bei dir also irgendwas in der art
    (what)'s going on?!
    drin - und das willst du bei diesem insert als den namen der tabelle, in die du einfügen willst, verwenden!?! ist ganz bestimmt nicht dein ernst ...


    mach dir bitte mal klar, was bei dir in welcher variablen drinsteht!

    Einen Kommentar schreiben:


  • xManUx
    antwortet
    PS: könnte sprintf() abhelfen?

    Einen Kommentar schreiben:


  • xManUx
    antwortet
    Original geschrieben von derHund
    hmm?

    bist du dem link von mrhappiness gefolgt?
    PHP-Code:
    <?php
    $item 
    "Zak's Laptop";
    $escaped_item mysql_escape_string($item);
    printf("Escaped string: %s\n"$escaped_item);
    ?>
    Funktioniert immer noch net :\

    PHP-Code:
    ## welches Forum?

    $frage mysql_query "SELECT forum FROM foren where id='$foren_id'" );
     while ( 
    $userdaten mysql_fetch_array $frage ) )
     {  
    $forumA $userdaten["forum"]; }

    $item $forumA;
    $escaped_item mysql_escape_string($item);

    $forume $escaped_item;

    $sql "INSERT INTO Forumthreads ( thread, ip, browser, zeit, threaderoffen, forum) VALUES ( '$thema', '$ip', '$browser', '$datum', '$nickname', '$forume')";
       
    mysql_query$sql$db ) or die ( mysql_error() );


    ## Einfügen! ##
         
    $sql "INSERT INTO $forume ( von, thread, ip, browser, zeit, beitrag) VALUES ( '$nickname', '$thema', '$ip', '$browser', '$datum', '$beitrag')";
       
    mysql_query$sql$db ) or die ( mysql_error() ); 
    In das INSERT INTO in Forumthreads kommts durch aber in der zweiten nicht..

    Fehlermeldungweiterhin:

    You have an error in your SQL syntax near '\'s going on?! ( von, thread, ip, browser, zeit, beitrag) VALUES ( '', 'asdf', '' at line 1

    Einen Kommentar schreiben:

Lädt...
X