Avatar billede ieconfig Nybegynder
05. august 2003 - 09:56 Der er 14 kommentarer og
1 løsning

Erstat kode (links ect. i nyhedscript)

Jeg har fundet mig et fint lille nyhedscript, som jeg har rettet til så det passer mig. Jeg har dog en enkelt ting som jeg gerne vil have ændret. Når man opretter en nyhed og skal lave et link kunne jeg godt tænke mig at man kunne skrive f.eks: [link=www.bla.dk]bla[/link]. Teorestisk skal den jo "bare" ændre [link.. til <a=href.. . Har fundet dette link men kan ik rigtig finde rundt i det. http://www.lauer.dk/scripts/test/url.php. Håber i kan hjælpe mig.. På forhånd tak. :)
Avatar billede nomak Nybegynder
05. august 2003 - 10:19 #1
$str = ereg_replace("\[link=http://([^]]+)\]", "<a href='http://\\1' target='_blank' class='main'>", $str);
$str = ereg_replace("\[link=www([^]]+)\]", "<a href='http://www\\1' target='_blank' class='main'>", $str);
$str = ereg_replace("\[/link\]", "</a>", $str);

det er hvad du skal bruge
Avatar billede tipsen Nybegynder
05. august 2003 - 11:30 #2
nomak: Kan det ikke klares med ét kald til ereg_replace() ?
Avatar billede delwin Nybegynder
05. august 2003 - 13:22 #3
prøv sådan her

<?php
$str    = "[link=http://www.bla.dk]bla[/link]";

$str    = eregi_replace("\[link=(ftp|http|https|telnet|news|nntp|file|irc)?(://)?([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\|\*\$\^\{\}]+)\]([a-z0-9]*)\[/link\]","<a href=\"\\1\\2\\3\" target=\"_blank\" class=\"main\">\\4</a>",$str);

echo $str;

?>
Avatar billede nomak Nybegynder
05. august 2003 - 15:06 #4
<?
    $str = "[link=www.test.dk]test[/link]";


    $str = ereg_replace("\[link=(www.)([^]]+)\]([^]]+)\[/link\]", "<a href='http://\\1\\2' target='_blank'>\\1\\2</a>", $str);

    echo $str;
?>

Virker efter din beskrivelse!
Avatar billede nomak Nybegynder
05. august 2003 - 15:08 #5
<?
    $str = "[mail=nomak@lamerz.dk]nomak[/mail]";


    $str = ereg_replace("\[mail=([^]]+)\]([^]]+)\[/mail\]", "<a href='mailto:\\1' target='_blank'>\\1</a>", $str);

    echo $str;
?>


lavede lige en til mails også
Avatar billede ieconfig Nybegynder
06. august 2003 - 09:45 #6
Jeg er ik i tvivl om det er rigtig det i skriver.. :D desværre er jeg ik liiiige helt haj til at få det ind i mit nuværenden script:

Se hvad jeg har:

---

new.php

<?


include("newsconfig.php");




$result = mysql_query("SELECT * FROM trg_users WHERE username='$login' AND password='$pass'");
$get_userinfo=@mysql_fetch_array($result);
$id=$get_userinfo[id];
$nlogin=$get_userinfo[username];
$npass=$get_userinfo[password];
$displayname=$get_userinfo[displayname];
    if($nlogin=="" AND $npass=="" OR $npass=="")

{
    ?>


        <INPUT type="hidden" name="login" value="<? echo "$login"; ?>">
    <INPUT type="hidden" name="pass" value="<? echo "$pass"; ?>">
      <font class="over">LOGIN FEJL</FONT><BR>
      Det bruger brugernavn eller password er forkert.


<?

}else {


?>

<font class="over">Opret Nyhed for <? echo "$login"; ?></FONT>


<form method="POST" action="postnews.php">
Overskrift:<BR>
<input type="text" name="headline" size="30">
<BR><BR>Nyhed:<BR><textarea name="news" cols="50" rows="15" class="textarea" ></textarea><BR>
    <input type="hidden" name="displayname" value="<? echo "$displayname"; ?>">
    <BR>
    <INPUT type="hidden" name="login" value="<? echo "$login"; ?>">
    <INPUT type="hidden" name="pass" value="<? echo "$pass"; ?>">
      <BR><input type="submit" value="Arkiver Nyhed" name="submit"><BR><BR>
      <input type="reset" value="Ryd Felter"></form><BR><hr width="100%" size="1" noshade color="#F2F2F2"><BR>Ønsker de at redigere eller slette en ældre nyhed kan der gøres via knappen herunder.
    <FORM METHOD="post" Action="edit.php">
        <INPUT type="hidden" name="login" value="<? echo "$login"; ?>">
    <INPUT type="hidden" name="pass" value="<? echo "$pass"; ?>">
    <INPUT TYPE="hidden" name="name" value="<? echo "$displayname"; ?>">
    <INPUT TYPE="submit" value="Rediger Nyhed">
    </FORM>


<?

  }

?>

---

news.class.php

<?



while ($get_news=@mysql_fetch_array($news)){

$commentcount = mysql_query("select * from comments where newsid = $get_news[ID]");

$count = mysql_num_rows($commentcount);

    $postdate=date("m.d.y",$get_news[date]);
    $time=date("H:i",$get_news[date]);
    $found=1;

$user = mysql_query("SELECT * FROM trg_users WHERE displayname = '$get_news[author]'");

$get_icon = @mysql_fetch_array($user);

$icon = $get_icon[icon];

$email = $get_icon[email];


?>

<font class="over"><? echo "$get_news[headline]"; ?></FONT><BR>
<font class="af">Skrevet af <B><A HREF="mailto:<? echo "$email"; ?>"><? echo "$get_news[author]"; ?></A></B> kl. <? echo "$time"; ?> den <? echo "$postdate"; ?></font><BR><BR>

<? echo "$get_news[news]"; ?>
<BR><hr width="100%" size="1" noshade color="#F2F2F2">

<?

    if($allowcomments==1){

if($count==0){

?>
<A HREF="<? echo "$PHP_SELF"; ?>?page=comments&ID=<? echo "$get_news[ID]"; ?>"><? echo "$count"; ?> Kommentarer</A>
<BR><hr width="100%" size="1" noshade color="#F2F2F2"><BR>
<?
}
if($count==1){
?>
<A HREF="<? echo "$PHP_SELF"; ?>?page=comments&ID=<? echo "$get_news[ID]"; ?>"><? echo "$count"; ?> Kommentarer</A>
<BR><hr width="100%" size="1" noshade color="#F2F2F2"><BR>
<?
}

if($count>1){
?>
<A HREF="<? echo "$PHP_SELF"; ?>?page=comments&ID=<? echo "$get_news[ID]"; ?>"><? echo "$count"; ?> Kommentarer</A>
<BR><hr width="100%" size="1" noshade color="#F2F2F2"><BR>
<?
}

    }else{
?><BR><?

}



?>


<?
   
}

?>

---

<?

include ("newsconfig.php");

$timestamp=time();

//mysql_query("INSERT INTO trg_news VALUES ('','$headline','$news','$timestamp','$catagory','$displayimage','$displayname')");

mysql_query("insert into trg_news (headline,news,date,catagory,displayimage,author) values ('$headline','$news','$timestamp','$catagory','$displayimage','$displayname')");


if($headline=="" AND $news=="" OR $news=="")

{
    ?>


        <INPUT type="hidden" name="login" value="<? echo "$login"; ?>">
    <INPUT type="hidden" name="pass" value="<? echo "$pass"; ?>">
      <FONT class="over">Fejl:  Tomme Felter!</FONT>

<?

}else{

?>

Bekræft venligst at du vil arkivere nyheden.
<form method="POST" action="new.php">

        <INPUT type="hidden" name="login" value="<? echo "$login"; ?>">
    <INPUT type="hidden" name="pass" value="<? echo "$pass"; ?>">
      <input type="submit" value="Arkiver Nyheden" name="submit">
     

</form>
       
</body>
</html>

<?

}

?>

---

HELT IORDEN hvis det er for omfattende.. i skal nok få jeres point :), dog ville jeg være glad hvis i kunne vejlede mig hvor det skal ind henne. På forhånd tak :D
Avatar billede nomak Nybegynder
06. august 2003 - 11:18 #7
news.class.php

<?



while ($get_news=@mysql_fetch_array($news)){

$commentcount = mysql_query("select * from comments where newsid = $get_news[ID]");

$count = mysql_num_rows($commentcount);

    $postdate=date("m.d.y",$get_news[date]);
    $time=date("H:i",$get_news[date]);
    $found=1;

$user = mysql_query("SELECT * FROM trg_users WHERE displayname = '$get_news[author]'");

$get_icon = @mysql_fetch_array($user);

$icon = $get_icon[icon];

$email = $get_icon[email];

$get_news[news] = ereg_replace("\[link=(www.)([^]]+)\]([^]]+)\[/link\]", "<a href='http://\\1\\2' target='_blank'>\\1\\2</a>", $get_news[news]);

$get_news[news] = ereg_replace("\[mail=([^]]+)\]([^]]+)\[/mail\]", "<a href='mailto:\\1'>\\1</a>", get_news[news]);

?>

<font class="over"><? echo "$get_news[headline]"; ?></FONT><BR>
<font class="af">Skrevet af <B><A HREF="mailto:<? echo "$email"; ?>"><? echo "$get_news[author]"; ?></A></B> kl. <? echo "$time"; ?> den <? echo "$postdate"; ?></font><BR><BR>

<? echo "$get_news[news]"; ?>
<BR><hr width="100%" size="1" noshade color="#F2F2F2">

<?

    if($allowcomments==1){

if($count==0){

?>
<A HREF="<? echo "$PHP_SELF"; ?>?page=comments&ID=<? echo "$get_news[ID]"; ?>"><? echo "$count"; ?> Kommentarer</A>
<BR><hr width="100%" size="1" noshade color="#F2F2F2"><BR>
<?
}
if($count==1){
?>
<A HREF="<? echo "$PHP_SELF"; ?>?page=comments&ID=<? echo "$get_news[ID]"; ?>"><? echo "$count"; ?> Kommentarer</A>
<BR><hr width="100%" size="1" noshade color="#F2F2F2"><BR>
<?
}

if($count>1){
?>
<A HREF="<? echo "$PHP_SELF"; ?>?page=comments&ID=<? echo "$get_news[ID]"; ?>"><? echo "$count"; ?> Kommentarer</A>
<BR><hr width="100%" size="1" noshade color="#F2F2F2"><BR>
<?
}

    }else{
?><BR><?

}



?>


<?
   
}

?>
Avatar billede marduk666 Nybegynder
06. august 2003 - 14:18 #8
<?php
//    Eksempler:
//    eksperten 1
//    eksperten 2
//    eksperten 3


$str = "eksperten 1
//    eksperten 2
//    eksperten 3";

$str = str_replace("[url=http://www", "[url=tpurlwurl", $str);
$str = str_replace("[url=http://", "[url=tpurl", $str);
$str = str_replace("[url=www", "[url=wurl", $str);

$str = ereg_replace("\[url=tpurlwurl([^]]+)\]", "<a href=\"http://www\\1\" target=\"_blank\">", $str);
$str = ereg_replace("\[url=tpurl([^]]+)\]", "<a href=\"http://\\1\" target=\"_blank\">", $str);
$str = ereg_replace("\[url=wurl([^]]+)\]", "<a href=\"http://www\\1\" target=\"_blank\">", $str);
$str = ereg_replace("\[/url\]", "</a>", $str);

print $str;
?>

Simpel kode som virker, men lidt stor :-)
Avatar billede ieconfig Nybegynder
06. august 2003 - 14:22 #9
nomak.. fik fejl i dit sidste eksempel.. fejl i linje 25.. :\ ( vist den her: $get_news[news] = ereg_replace("\[mail=([^]]+)\]([^]]+)\[/mail\]", "<a href='mailto:\\1'>\\1</a>", get_news[news]); ) .. marduk666.. har du nogen anelse om hvor jeg skal putte det ind i min ovenstående kode :DDD ?
Avatar billede nomak Nybegynder
06. august 2003 - 14:49 #10
hvad for en fejl? kan ikke så godt hjælpe uden at vide hvad der er galt
Avatar billede nomak Nybegynder
06. august 2003 - 14:51 #11
$get_news[news] = ereg_replace("\[mail=([^]]+)\]([^]]+)\[/mail\]", "<a href='mailto:\\1'>\\1</a>", $get_news[news]);

erstat med denne linie!

sorry min fejl!
Avatar billede ieconfig Nybegynder
06. august 2003 - 14:53 #12
nomak:

Parse error: parse error, unexpected '[' in /customers/url/url/httpd.www/abc/news/news.class.php on line 25

:D
Avatar billede nomak Nybegynder
06. august 2003 - 14:58 #13
også med den nye linie?
Avatar billede ieconfig Nybegynder
06. august 2003 - 14:59 #14
næh.. :D tusinde tak for din insats nomak. Nu virker det PERFEKT ! ilu :)
Avatar billede nomak Nybegynder
06. august 2003 - 15:00 #15
np :P
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