Likes Likes:  0
Resultaten 1 tot 3 van de 3
Geen
  1. #1
    Jan Reilink
    [PHP] str_replace probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    [PHP] str_replace probleem

    In bestaande code, Ekomite CMS GuestBook snippet [1], probeer ik een
    optie in te bouwen om tekst smilies ( :-) ) om te zetten in een image.
    Dit probeer ik met str_replace:

    $message = str_replace(":-)", "<img
    src=\"./assets/images/smilies/a1.gif\">", $_POST['message']);
    $message = str_replace(":-(", "<img
    src=\"./assets/images/smilies/a2.gif\">", $_POST['message']);
    $message = str_replace(";-)", "<img
    src=\"./assets/images/smilies/a3.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a4.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a5.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a6.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a7.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a8.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a9.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a10.gif\">", $_POST['message']);
    $message = str_replace(":confused:", "<img
    src=\"./assets/images/smilies/a11.gif\">", $_POST['message']);

    De ene keer wordt het plaatje weergegeven en de andere keer de tekst.
    Heeft iemand de oplossing (let wel, PHP is niet mijn sterke kant...)?
    De paden (./assets/images/smilies/) kloppen.

    volledige code snippet:
    ----------
    # GuestBook - Etomite v0.6.3 - Modified 2004-11-05
    # Created By: Ralph A. Dahlgren - rad14701@yahoo.com
    # Usage: Create an Etomite user or admin as GuestBook owner in Etomite
    Manager
    # Change $defaultadmin variable to match GuestBook owner
    # OR: Set $defaultadmin to an existing Admin name.
    # Messages will be deposited into that mailbox, but only GuestBook
    # messages will be displayed within the GuestBook listing.
    #
    # Var's: $gbtype - Referenced in GuestBook admin User Messages Subject
    # $gbadmin - Etomite User/Admin who will receive this message
    #
    # Examples: [[GuestBook?gbtype=GuestBook&gbadmin=guestbook]] - Self
    Explanatory
    # [[GuestBook?gbadmin=someuser]] - Uses
    $etomite->documentObject['pagetitle'] for $gbtype
    # [[GuestBook?bgtype=SomeTopic]] - Uses $defaultadmin for $gbadmin
    # [[GuestBook]] - Will use snippet defaults for $gbtype and
    $gbadmin
    #
    # Note: $etomite->documentObject['createdby'] was not used for $gbadmin
    intentionally
    # To implement this capability would entail and additonal DB
    Query before Inserts
    #

    $defaultadmin = "mijn_naam"; # Default GuestBook admin to use if
    $gbadmin not passed
    $gap = " :: "; # Separator between $type and $subject in User Messages
    Subject field

    #
    # Variables you should not need to change
    #

    $type = isset($gbtype) ? $gbtype :
    $etomite->documentObject['pagetitle']; # Set $type field for new entry
    $trimtype=substr($type,0,15); # Truncate $type to 15 character limit
    for field
    $guestbookadmin = isset($gbadmin) ? $gbadmin : $defaultadmin; # Set
    GuestBook admin
    $pageid=$etomite->documentIdentifier; # ID of the calling document
    $dateformat = "%m/%d/%Y at %H:%M:%S"; # Preferred Date & Time display
    format
    $tbl = $etomite->dbConfig['dbase'].".".$etomite->dbConfig['table_prefix'];
    $msgdb = $tbl."user_messages"; # DB.Prefix_user_messages variable

    # Don't allow unwanted re-posts of messages
    if($_POST['submitted'] == "TRUE") header( "Location:
    index.php?id=$etomite->documentIdentifier" );

    # Query for the user ID (id) for the GuestBook owner
    $sql = "SELECT id FROM ".$tbl."manager_users WHERE
    ".$tbl."manager_users.username='$guestbookadmin';" ;
    $rs = $etomite->dbQuery($sql);
    $limit = $etomite->recordCount($rs);

    # Check to make sure $guestbookadmin has been created and assigned
    if($limit == 1) {

    $userrec = $etomite->fetchRow($rs);
    $userid = $userrec['id'];

    # Check to see if a valid message has been submitted
    if(isset($_POST['submit']) && ($_POST['subject'] > "") &&
    ($_POST['message'] > "")){
    $postdate = time();

    $recipient = $userid;
    $subject = $type . $gap . strip_tags($_POST['subject']);
    // $message = strip_tags($_POST['message']);
    // $message = $_POST['message'];
    $message = str_replace(":-)", "<img
    src=\"./assets/images/smilies/a1.gif\">", $_POST['message']);
    $message = str_replace(":-(", "<img
    src=\"./assets/images/smilies/a2.gif\">", $_POST['message']);
    $message = str_replace(";-)", "<img
    src=\"./assets/images/smilies/a3.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a4.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a5.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a6.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a7.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a8.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a9.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a10.gif\">", $_POST['message']);
    $message = str_replace(":confused:", "<img
    src=\"./assets/images/smilies/a11.gif\">", $_POST['message']);

    # Query to INSERT a new GuestBook message into user_messages
    $sql = "INSERT INTO $msgdb ( id , type , subject , message , sender
    , recipient , private , postdate , messageread ) VALUES ( '', '$type',
    '$subject', '$message', '0', '$recipient', '0', '$postdate', '0' );";

    $rs = $etomite->dbQuery($sql); # Execute the Query
    $submitted="TRUE";
    }
    else $submitted = "TRUE";

    $output .= "<table border=\"0\" cellspacing=\"0\"
    cellpadding=\"6\" align=\"center\">";
    $output .= "<tr align=\"center\" valign=\"middle\">";
    $output .= "<td>:-) = <img
    src=\"./assets/images/smilies/a1.gif\" border=\"0\"></a></td>";
    $output .= "<td>:-( = <img
    src=\"./assets/images/smilies/a2.gif\" border=\"0\"></a></td>";
    $output .= "<td>;-) = <img
    src=\"./assets/images/smilies/a3.gif\" border=\"0\"></a></td>";
    $output .= "</tr>";
    $output .= "<tr align=\"center\" valign=\"middle\">";
    $output .= "<td> = <img
    src=\"./assets/images/smilies/a4.gif\" border=\"0\"></a></td>";
    $output .= "<td> = <img
    src=\"./assets/images/smilies/a5.gif\" border=\"0\"></a></td>";
    $output .= "<td> = <img
    src=\"./assets/images/smilies/a6.gif\" border=\"0\"></a></td>";
    $output .= " </tr>";
    $output .= "<tr align=\"center\" valign=\"middle\">";
    $output .= "<td> = <img
    src=\"./assets/images/smilies/a7.gif\" border=\"0\"></a></td>";
    $output .= "<td> = <img
    src=\"./assets/images/smilies/a8.gif\" border=\"0\"></a></td>";
    $output .= "<td> = <img
    src=\"./assets/images/smilies/a9.gif\" border=\"0\"></a></td>";
    $output .= "</tr>";
    $output .= "<tr align=\"center\" valign=\"middle\">";
    $output .= "<td> = <img
    src=\"./assets/images/smilies/a10.gif\" border=\"0\"></a></td>";
    $output .= "<td>:confused: = <img
    src=\"assets/images/smilies/a11.gif\" border=\"0\"></a></td>";
    $output .= "</tr>";
    $output .= " <tr align=\"center\">";
    $output .= "<td colspan=\"3\">";
    $output .= "<div align=\"center\" class=\"font2\"><br>";
    $output .= "</div>";
    $output .= "</td>";
    $output .= " </tr>";
    $output .= "</table>";

    $output .= "<div style='width:100%; text-align:center;'>";
    $output .= "<form method='post' action='index.php'>";
    $output .= "<input type='hidden' name='id' value='$pageid' />";
    $output .= "<input type='hidden' name='submitted' value='$submitted' />";
    $output .= "<div>Name and/or Email:</div><div><input name='subject'
    size='40' /></div>";
    $output .= "<div>Enter Message:</div><div><text"."area rows='10'
    cols='50' name='message'></"."text"."area></div><br />";
    $output .= "<div><input type='submit' name='submit' value='Submit' />";
    $output .= " <input type='reset' name='reset' value='Reset' /></div>";
    $output .= "</form></div><hr />";

    # Query to SELECT existing messages for display in descending order
    $sql = "SELECT * FROM ".$tbl."user_messages
    WHERE ".$tbl."user_messages.recipient=$userid
    AND ".$tbl."user_messages.type='".$trimtype."'
    ORDER BY ".$tbl."user_messages.postdate DESC;";

    $rs = $etomite->dbQuery($sql); # Execute the Query
    $limit = $etomite->recordCount($rs); # Number of messages found

    # Loop through each of the messages and format for display
    for ($y = 0; $y < $limit; $y++) {
    $guestbookrec = $etomite->fetchRow($rs);
    $poster = str_replace($type.$gap,"",$guestbookrec['subject']);
    $message = nl2br($guestbookrec['message']);
    $postdate = strftime($dateformat,
    $guestbookrec['postdate']+$server_offset_time);
    $output .= "Date: $postdate<br />Poster: $poster<br /><br
    />Bericht: <br />$message<br /><br /><hr /><br />";
    }
    }
    # If no valid GuestBook owner is found display error message...
    else $output = "GuestBook User/Manager not found... Check your
    settings...";
    #
    return $output;
    # END OF CODE #
    ----------
    einde

    Met bovenstaande code krijg ik de tekst, bijvoorbeeld ' :-) '.
    *Nu* heb ik een comment toegevoegd zodat er maar 1 str_replace regel is
    en de smiley wordt *wel* weergegeven... :

    // $message = $_POST['message'];
    $message = str_replace(":-)", "<img
    src=\"./assets/images/smilies/a1.gif\">", $_POST['message']);
    /*
    $message = str_replace(":-(", "<img
    src=\"./assets/images/smilies/a2.gif\">", $_POST['message']);
    $message = str_replace(";-)", "<img
    src=\"./assets/images/smilies/a3.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a4.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a5.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a6.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a7.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a8.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a9.gif\">", $_POST['message']);
    $message = str_replace("", "<img
    src=\"./assets/images/smilies/a10.gif\">", $_POST['message']);
    $message = str_replace(":confused:", "<img
    src=\"./assets/images/smilies/a11.gif\">", $_POST['message']);
    */
    # Query to INSERT a new GuestBook message into user_messages

    Ik hoop dat het een beetje duidelijk is... ;-) Alvast bedankt voor enige
    inzichten.

    [1] http://www.etomite.org/browsesnippet...lst_category=9

    --
    Met vriendelijke groet / Best regards,
    Jan Reilink, VEVIDA Nederland BV

    Postbus 329, 9700 AH GRONINGEN, +31(0)50 - 5492234

  2. #2
    Daniel Tryba
    [PHP] str_replace probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] str_replace probleem

    Jan Reilink <janreilink@vevida.nl> wrote:
    > In bestaande code, Ekomite CMS GuestBook snippet [1], probeer ik een
    > optie in te bouwen om tekst smilies ( :-) ) om te zetten in een image.
    > Dit probeer ik met str_replace:
    >
    > $message = str_replace(":-)", "<img
    > src=\"./assets/images/smilies/a1.gif\">", $_POST['message']);

    [knip]
    > $message = str_replace(":confused:", "<img
    > src=\"./assets/images/smilies/a11.gif\">", $_POST['message']);
    >
    > De ene keer wordt het plaatje weergegeven en de andere keer de tekst.
    > Heeft iemand de oplossing (let wel, PHP is niet mijn sterke kant...)?


    Prober het eens met :confused: als test case, je zult zien dat die wel
    werkt.

    Is ook niet verwonderlijk, er staat immers:

    $nieuwewaarde=functieA($originelewaarde);
    $nieuwewaarde=functieB($originelewaarde);
    $nieuwewaarde=functieC($originelewaarde);

    Terwijl je bedoelt:
    $nieuwewaarde=functieA($originelewaarde);
    $nieuwewaarde=functieB($nieuwewaarde);
    $nieuwewaarde=functieC($nieuwewaarde);

    Maar met str_replace kan dat ook in 1 keer:

    $emo=array('' ,'' , ...);
    $img=array('<img src="/path/a1.gif">', '<img src="/path/a2.gif">','<img...);

    $message=str_replace($emo,$img,$_POST='message']);


  3. #3
    Jan Reilink
    [PHP] str_replace probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] str_replace probleem

    Daniel Tryba wrote:
    > Jan Reilink <janreilink@vevida.nl> wrote:
    >
    >>In bestaande code, Ekomite CMS GuestBook snippet [1], probeer ik een
    >>optie in te bouwen om tekst smilies ( :-) ) om te zetten in een image.
    >>Dit probeer ik met str_replace:
    >>
    >> $message = str_replace(":-)", "<img
    >>src=\"./assets/images/smilies/a1.gif\">", $_POST['message']);

    >
    > [knip]
    >
    >> $message = str_replace(":confused:", "<img
    >>src=\"./assets/images/smilies/a11.gif\">", $_POST['message']);
    >>
    >>De ene keer wordt het plaatje weergegeven en de andere keer de tekst.
    >>Heeft iemand de oplossing (let wel, PHP is niet mijn sterke kant...)?

    >
    >
    > Prober het eens met :confused: als test case, je zult zien dat die wel
    > werkt.
    >


    *bloos*, u is 1 held :-)
    Hoe ik daar overheen heb kunnen kijken...

    Bedankt, het werkt!

    --
    Met vriendelijke groet / Best regards,
    Jan Reilink, VEVIDA Nederland BV

    Postbus 329, 9700 AH GRONINGEN, +31(0)50 - 5492234

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics