Jump to content

Archived

This topic is now archived and is closed to further replies.

rsj1

Need a little help

Recommended Posts

Basically what my problem is (I can't post a link as my site contains adult rated material) my shoutbox to be frank sucks. But due to the script I am using (MKPortal) its the only one available that will display both in the portal and the forum (SMF) The problem I have is the latest shouts block is in a thin column on the right hand side of the page (it would look ugly if I moved it to the top) this is fine as long as people only post normal text. The problems come when somebody posts a url eg [a href=\"http://www.google.co.uk/search?q=php+htlp&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:en-US:official\" target=\"_blank\"]http://www.google.co.uk/search?q=php+htlp&...:en-US:official[/a] this expands the column so the url does not get broken. This looks really ugly!

I now have a couple of choices, but as I am not that experienced with php (I get by, but am not great) I cannot code any of these myself.

Choice 1: As the message is posted I need to edit the script to check the text for urls and turn it into:
[code]<a href=\"FOUNDURL\">LINK</a>[/code] (where "LINK" is the actual text displayed.so it would turn [a href=\"http://www.google.com\" target=\"_blank\"]http://www.google.com[/a] into [a href=\"http://www.google.com\" target=\"_blank\"]LINK[/a]) before the message is entered into the database.

Choice 2: As the messages are viewed a bit of code would need to do exactly the same thing as above and turn the long links into [a href=\"http://www.google.com\" target=\"_blank\"]LINK[/a]

Choice 3: A bit of code that will truncate long strings of text (like urls) by either only showing the first 40 characters or by placing a space every 40 characters in the string.

Out of all three I would prefer choice 2. Here is the code that displays the shouts (I have annotated it as much as I can)

[code]
<?php

global $DB, $mklib, $mkportals;
$limit = $this->config['urlo_block'];
if (!$limit) {
    $limit = 5;
}
    $link_user = $mklib_board->forum_link("profile"); //uses a function in another script to get the base link to the users profile
    $query = $DB->query( "SELECT id, idaut, name, message, time FROM mkp_urlobox ORDER BY `id` DESC LIMIT $limit");
    while( $row = $DB->fetch_row($query) ) {
        $name = $row['name']; //The user who shouted's name
        $id_orig_name = $row['idaut']; // the user who shouted's member if
        $content .= "<tr><td class=\"tdblock\"><b><a href=\"$link_user=$id_orig_name\">";
        $content .= $row['name'];
        $content .= "</a></b>, on ";
        $content .= $mklib->create_date($row['time']);  //creates a date using a function in another script
        $content .= "</td></tr><tr><td>";

        $message = $mklib->decode_bb($row['message']); //grabs the message from the database and add the smilies

        //This is where the code editing $message would need to go
        
        $content .= $message;
        $content .= "</td></tr>";
    }

?>
[/code]
NOTE: $content is the variable the code returns and diaplys on the webpage

Any help is much appreciated!

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.