Avatar billede unsafe Nybegynder
08. april 2005 - 17:09 Der er 20 kommentarer og
1 løsning

[img]billede adresse[/img]

Har prøvet mig lidt frem. Men kan ikke få det til at virke så at den  laver et billede når man skriver http://noget

Dette er min kode. Kan nogen hjælpe?

$nohtml = preg_replace("/\[img\](.+?)\[\/img\]/", '<img src="$1">', $nohtml);
Avatar billede tobias_louv Nybegynder
08. april 2005 - 17:30 #1
Det virker fint på min server...
Avatar billede tobias_louv Nybegynder
08. april 2005 - 17:31 #2
Avatar billede unsafe Nybegynder
08. april 2005 - 17:34 #3
:O

Må lige prøve igen så.
Avatar billede tobias_louv Nybegynder
08. april 2005 - 17:35 #4
Skriv:
$nohtml = "/billede.jpg";
$nohtml = preg_replace("/\[img\](.+?)\[\/img\]/", '<img src="$1">', $nohtml);
echo $nohtml;
præcis, hvad du selv skrev
Avatar billede unsafe Nybegynder
08. april 2005 - 17:47 #5
Hmm logind på www.efy.dk/forum som bruger: test pass: test og du ind i den eneste tråd der er.

Der kan du selv prøve..

Såden her ser min functions.php ud:

<?php

session_start();

function smilies($smilies)
{
    $smiley_dir = "images/smilies";


    $smilies = str_replace(":)", "<img src=\"$smiley_dir/icon_smile.gif\">", $smilies);
    $smilies = str_replace(":I", "<img src=\"$smiley_dir/icon_smile_blush.gif\">", $smilies);
    $smilies = str_replace(":i", "<img src=\"$smiley_dir/icon_smile_blush.gif\">", $smilies);
    $smilies = str_replace("8)", "<img src=\"$smiley_dir/icon_smile_shy.gif\">", $smilies);
    $smilies = str_replace(";)", "<img src=\"$smiley_dir/wink.gif\">", $smilies);
    $smilies = str_replace(":D", "<img src=\"$smiley_dir/icon_smile_big.gif\">", $smilies);
    $smilies = str_replace("8D", "<img src=\"$smiley_dir/icon_smile_cool.gif\">", $smilies);
    $smilies = str_replace(":o)", "<img src=\"$smiley_dir/icon_smile_clown.gif\">", $smilies);
    $smilies = str_replace(";)", "<img src=\"$smiley_dir/icon_smile_wink.gif\">", $smilies);
    $smilies = str_replace(":P", "<img src=\"$smiley_dir/icon_smile_tongue.gif\">", $smilies);
    $smilies = str_replace(":p", "<img src=\"$smiley_dir/icon_smile_tongue.gif\">", $smilies);
    $smilies = str_replace(":x", "<img src=\"$smiley_dir/icon_smile_kisses.gif\">", $smilies);
    $smilies = str_replace("::)", "<img src=\"$smiley_dir/nye_rolleyes.gif\">", $smilies);
    $smilies = str_replace(":o!", "<img src=\"$smiley_dir/nye_shocked.gif\">", $smilies);
    $smilies = str_replace("I)", "<img src=\"$smiley_dir/icon_smile_sleepy.gif\">", $smilies);
    $smilies = str_replace("i)", "<img src=\"$smiley_dir/icon_smile_sleepy.gif\">", $smilies);
    $smilies = str_replace(":-*", "<img src=\"$smiley_dir/nye_kiss.gif\">", $smilies);
    $smilies = str_replace("xx(", "<img src=\"$smiley_dir/icon_smile_dead.gif\">", $smilies);
    $smilies = str_replace(":O", "<img src=\"$smiley_dir/icon_smile_shock.gif\">", $smilies);
    $smilies = str_replace(":o", "<img src=\"$smiley_dir/icon_smile_shock.gif\">", $smilies);
    $smilies = str_replace(":(", "<img src=\"$smiley_dir/icon_smile_sad.gif\">", $smilies);
    $smilies = str_replace("}:)", "<img src=\"$smiley_dir/icon_smile_evil.gif\">", $smilies);
    $smilies = str_replace("B)", "<img src=\"$smiley_dir/icon_smile_blackeye.gif\">", $smilies);
    $smilies = str_replace("b)", "<img src=\"$smiley_dir/icon_smile_blackeye.gif\">", $smilies);
    $smilies = str_replace(":´(", "<img src=\"$smiley_dir/nye_cry.gif\">", $smilies);
    $smilies = str_replace(":'(", "<img src=\"$smiley_dir/nye_cry.gif\">", $smilies);
    $smilies = str_replace(":(!", "<img src=\"$smiley_dir/icon_smile_angry.gif\">", $smilies);
    $smilies = str_replace(":-[", "<img src=\"$smiley_dir/nye_embarassed.gif\">", $smilies);

    return $smilies;
}

function nohtml($nohtml)
{

$nohtml = str_replace("<", "&lt;", $nohtml);
$nohtml = str_replace(">", "$gt;", $nohtml);

$nohtml = str_replace("[fed]", "<b>", $nohtml);
$nohtml = str_replace("[/fed]", "</b>", $nohtml);

$nohtml = str_replace("[k]", "<i>", $nohtml);
$nohtml = str_replace("[/k]", "</i>", $nohtml);

$nohtml = str_replace("", "<u>", $nohtml);
$nohtml = str_replace("
", "</u>", $nohtml);

$nohtml = str_replace("[s]", "<s>", $nohtml);
$nohtml = str_replace("[/s]", "</s>", $nohtml);

$nohtml = str_replace("[liste]", "<ul>", $nohtml);
$nohtml = str_replace("[/liste]", "</ul>", $nohtml);

$nohtml = str_replace("[p]", "<li>", $nohtml);
$nohtml = str_replace("[/p]", "</li>", $nohtml);

$nohtml = str_replace("[kode]", "<div class=kode>", $nohtml);
$nohtml = str_replace("[/kode]", "</div>", $nohtml);

$nohtml = str_replace("[quote]", "<div class=quote>", $nohtml);
$nohtml = str_replace("[/quote]", "</div>", $nohtml);

$nohtml = preg_replace("/\[IMG\](.+?)\[\/IMG\]/", '<img src="$1">', $nohtml);
$nohtml = preg_replace("/\[img\](.+?)\[\/img\]/", '<img src="$1">', $nohtml);

$nohtml = preg_replace("/\[profil\](.+?)\[\/profil\]/", "<a href=profiler.php?bruger=$1>$1</a>", $nohtml);

return $nohtml;
}

function url2link($str) {
  return eregi_replace("((f|ht)tps?://)([a-z0-9@:%_.~#\-\?&-]+)((\=|[a-z0-9]|\?|&|\/|\.|-|:|æ|ø|å)+){0,}",
                      "<a href=\"\\0\" target=\"_blank\">\\0</a>", $str);
}


function email2link($str) {
  return eregi_replace("^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*)$",
                      "<a href=\"mailto:\\0\">\\0</a>", $str);
}

?>
Avatar billede tobias_louv Nybegynder
08. april 2005 - 17:49 #6
og du er sikker på at fejlen ligger ved '$nohtml = preg_replace("/\[profil\](.+?)\[\/profil\]/", "<a href=profiler.php?bruger=$1>$1</a>", $nohtml);'?
Er der nogen fejlmeddelse?
Avatar billede unsafe Nybegynder
08. april 2005 - 17:59 #7
jaer tror jeg, nej ingen. den viser det bare ikke billedet. kan du vel selv se i tråden og kildekoden.
Avatar billede tobias_louv Nybegynder
08. april 2005 - 18:01 #8
prøv at give mig et link..
Avatar billede tobias_louv Nybegynder
08. april 2005 - 18:02 #9
laver du dette når du skriver i db'en eller når du henter ud?
Avatar billede unsafe Nybegynder
08. april 2005 - 18:19 #10
Når den henter det ud <?php echo nl2br(nohtml($rs[besked])); ?>

www.efy.dk/forum.

Eller

http://www.efy.dk/forum/forum.php?forum=8&action=traad&id=6

Men du skal være logget ind!.
Avatar billede tobias_louv Nybegynder
08. april 2005 - 18:21 #11
Så opretter jeg bare ;D
Avatar billede tobias_louv Nybegynder
08. april 2005 - 18:24 #12
du kører url2link() på billedets url, kald denne funktion FØR du kalder nohtml()
Avatar billede unsafe Nybegynder
08. april 2005 - 18:32 #13
Den er kaldt før nohtml.

<?echo nl2br(smilies(url2link(email2link(nohtml($rs[besked]))))) ?>
Avatar billede tobias_louv Nybegynder
08. april 2005 - 18:37 #14
fuck. du skriver nemlig <img src="<a href="link">">
for at fikse dén må du vist check, om der står [img]før linket, og så ignorer det..
Avatar billede tobias_louv Nybegynder
08. april 2005 - 18:51 #15
jeg bliver nok væk fra exp en uge. så du må sidde og rodde lidt med det selv ;)
håber det kommer til at virke for dig :)
Avatar billede unsafe Nybegynder
08. april 2005 - 18:58 #16
jaer ok. Ævæv, troed ellers ikke det var så svært at løse :b

Men tak for din hjælp, håber der kommer andre der kan hjælpe mig.
Avatar billede unsafe Nybegynder
08. april 2005 - 19:06 #17
Eller kan i evt ændre så man skal skrive [link][/link] og så en adresse før denne virker ?:

function url2link($str) {
  return eregi_replace("((f|ht)tps?://)([a-z0-9@:%_.~#\-\?&-]+)((\=|[a-z0-9]|\?|&|\/|\.|-|:|æ|ø|å)+){0,}",
                      "<a href=\"\\0\" target=\"_blank\">\\0</a>", $str);
}
Avatar billede martin1000ben Nybegynder
09. april 2005 - 00:23 #18
Her er 2 funktioner - jeg har altid brugt dem kan bare ikk huske hvor jeg har taget dem fra - den første er bare til at lave ren html koder om til links osv.

Den anden er BBencode (mener jeg det hedder) - det er sådan som [url][/url] osv

<?php
function make_clickable($text) {

        // pad it with a space so we can match things at the start of the 1st line.
        $ret = " " . $text;

        // matches an "xxxx://yyyy" URL at the start of a line, or after a space.
        // xxxx can only be alpha characters.
        // yyyy is anything up to the first space, newline, or comma.
        $ret = preg_replace("#([\n ])([a-z]+?)://([^, \n\r]+)#i", "\\1<!-- auto-link start --><a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a><!-- auto-link end -->", $ret);

        // matches a "www.xxxx.yyyy[/zzzz]" kinda lazy URL thing
        // Must contain at least 2 dots. xxxx contains either alphanum, or "-"
        // yyyy contains either alphanum, "-", or "."
        // zzzz is optional.. will contain everything up to the first space, newline, or comma.
        // This is slightly restrictive - it's not going to match stuff like "forums.foo.com"
        // This is to keep it from getting annoying and matching stuff that's not meant to be a link.
        $ret = preg_replace("#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[^, \n\r]*)?)#i", "\\1<!-- auto-link start --><a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">www.\\2.\\3\\4</a><!-- auto-link end -->", $ret);

        // matches an email@domain type address at the start of a line, or after a space.
        // Note: before the @ sign, the only valid characters are the alphanums and "-", "_", or ".".
        // After the @ sign, we accept anything up to the first space, linebreak, or comma.
        $ret = preg_replace("#([\n ])([a-z0-9\-_.]+?)@([^, \n\r]+)#i", "\\1<!-- auto-mailto start --><a href=\"mailto:\\2@\\3\">\\2@\\3</a><!-- auto-mailto end -->", $ret);

        // Remove our padding..
        $ret = substr($ret, 1);

        return($ret);
}


function bbencode($message) {

    // [CODE] and [/CODE] for posting code (HTML, PHP, C etc etc) in your posts.
    $matchCount = preg_match_all("#\[code\](.*?)\[/code\]#si", $message, $matches);
   
    for ($i = 0; $i < $matchCount; $i++)
    {
        $currMatchTextBefore = preg_quote($matches[1][$i]);
        $currMatchTextBefore = escape_slashes($currMatchTextBefore);
        $currMatchTextAfter = htmlspecialchars($matches[1][$i]);
       
        $message = preg_replace("/\[code\]$currMatchTextBefore\[\/code\]/si", "<!-- code Start --><table BORDER=0 ALIGN=CENTER WIDTH=85%><tr><td><font size=-1>Code:</font><hr></td></tr><tr><td><font SIZE=-1><pre>$currMatchTextAfter</pre></font></td></tr><tr><td><hr></td></tr></table><!-- code End -->", $message);
    }

    // [QUOTE] and [/QUOTE] for posting replies with quote, or just for quoting stuff.   
    $message = preg_replace("/\[quote\](.*?)\[\/quote]/si", "<!-- code Quote Start --><table BORDER=0 ALIGN=CENTER WIDTH=85%><tr><td><font size=-1>Quote:</font><hr></td></tr><tr><td><font SIZE=-1><blockquote>\\1</blockquote></font></td></tr><tr><td><hr></td></tr></table><!-- code Quote End -->", $message);
   
    // and for bolding text.
    $message = preg_replace("/\[b\](.*?)\[\/b\]/si", "<!-- code Start --><b>\\1</b><!-- code End -->", $message);

    // [s] and [/s] for small text.
    $message = preg_replace("/\[s\](.*?)\[\/s\]/si", "<!-- code Start --><small>\\1</small><!-- code End -->", $message);
   
    // and for italicizing text.
    $message = preg_replace("/\[i\](.*?)\[\/i\]/si", "<!-- code Start --><i>\\1</i><!-- code End -->", $message);
   
    // [url]www.phpbb.com[/url] code..
    $message = preg_replace("/\[url\](http:\/\/)?(.*?)\[\/url\]/si", "<!-- code Start --><a href=\"http://\\2\" target=\"_blank\">\\2</a><<!-- code End -->", $message);
   
    // phpBB code..
    $message = preg_replace("/\[url=(http:\/\/)?(.*?)\](.*?)\[\/url\]/si", "<!-- code Start --><a href=\"http://\\2\" target=\"_blank\">\\3</a><!-- code End -->", $message);
   
    // user@domain.tld code..
    $message = preg_replace("/\[email\](.*?)\[\/email\]/si", "<!-- code Start --><a href=\"mailto:\\1\">\\1</a><!-- code End -->", $message);
   
    // image_url_here code..
    $message = preg_replace("/\[img\](.*?)\[\/img\]/si", "<!-- code Start --><img src=\"\\1\"><!-- code End -->", $message);
   
    return($message);
}
Avatar billede unsafe Nybegynder
09. april 2005 - 12:58 #19
Jotak, nu virker det perfekt :) smid et svar!
Avatar billede martin1000ben Nybegynder
09. april 2005 - 14:52 #20
hvem?
Avatar billede unsafe Nybegynder
10. april 2005 - 12:59 #21
Dig :b
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester