Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html]link W Nowym Oknie - News Asystent 1.5
Forum PHP.pl > Forum > Gotowe rozwiązania
MrWujek
Witam. Nie wiem jak zrobic, aby po kliknieciu w link strona otwierala sie w nowym oknie.

Probowalem tak ale nie dziala:

[a]http://www.bet.p2u.pl target=_blank[a2]Forum sportowe[/a]
b_chmura
w kodzie przy wyrażeniach regularnych odpowiedzialnych za transformacje linków musisz dodać 'target=_blank'
MrWujek
Hmm...tylko ja jestem przedszkolak totalny i nie wiem za bardzo gdzie to jest...
b_chmura
ja i nikt inny wróżką też nie jest smile.gif
Cysiaczek
Problem dotyczy gotowego skryptu - przenoszę
UDAT
Po co chcesz coś takiego zrobić?

Daj Użytkownikowi prawo decydowania o tym gdzie chce obejrzeć stronę, jeśli będzie chciał na nowej zakładce to kliknie sobie środkowym przyciskiem myszy.
b_chmura
Cytat
Po co chcesz coś takiego zrobić?

Daj Użytkownikowi prawo decydowania o tym gdzie chce obejrzeć stronę, jeśli będzie chciał na nowej zakładce to kliknie sobie środkowym przyciskiem myszy.


jeśli sie nie mylę w badzIEwiu nie ma takiego rarytasu

podaj zawartość jakiegoś pliczku (np funkcje.php albo config.php coś w ten deseń) albo sprawdź w którym pliku jest coś co przypomina
Kod
  $co = preg_replace('/\[url=.*?(http:\/\/)?(www\.)?([a-zA-Z0-9@#%\&_=~?\/\.-]+\.)([a-zA-Z0-9]{2,4})?.*?\](.*?)\[\/url\]/','<a href="http://\\3\\4">\\5</a>',$co);

i podaj tutaj albo sam dodaj target="_blank" przy a href
MrWujek
No probowalem cos zmieniac, ale nie wiele to dalo. Mam plik functions.php ale nie wiem jak zmienic zeby bylo dobrze. Moze Wy cos poradzicie. Oto czesc tego pliku:

  1. <?
  2. $path=pathinfo($_SERVER["PATH_TRANSLATED"]);
  3. $news_path=$path["dirname"];
  4. require "$news_path/news/config.php";
  5. if($debug==0){
  6. }
  7. function err_msg($message_text){
  8. global $font_face, $font_size;
  9. echo "<p align=\"center\" style=\"font-family: $font_face; font-size:$font_size;\">
  10. $message_text</p>\n";
  11. }
  12. function show_news($show_num, $newsid){
  13. echo "<a name=\"top\"></a>";
  14. global $news_path;
  15. require "$news_path/news/config.php";
  16. $newsdata="$news_path/news/data/newsdata.dat";
  17. if(file_exists($newsdata)){
  18. $newstable=file($newsdata);
  19. $news_total=count($newstable);
  20. $max=$news_total-$show_num;
  21. if($_GET["list"]=="all"){
  22. $max=0;
  23. }
  24. if($max<0){$max=0;}
  25. if($newsid!=-1){
  26. $news_total=$newsid+1;
  27. $max=$newsid;
  28. }
  29. if(!isset($_GET["newsid"])&&($_GET["news_action"]=="display"||!isset($_GET["news_action"]))){
  30. $NEWSHEADTEXT="\nNowo&para;ci w serwisie:";
  31. }elseif($_GET["news_action"]=="more"){
  32. $NEWSHEADTEXT="\nPe&sup3;ny tekst newsa:";
  33. }elseif($_GET["news_action"]=="comments" || $_GET["news_action"]=="new_comment"){
  34. $NEWSHEADTEXT="\nPodgl&plusmn;d newsa:";
  35. }
  36. include "$news_path/news/template/$theme/top.tpl";
  37. echo $top_tpl;
  38. for($i=$news_total-1; $i>=$max; $i--){
  39. $newstable[$i]=trim($newstable[$i]);
  40. $data=explode("*;*", $newstable[$i]);
  41. $NEWSTITLE=$data[0];
  42. $NEWSDATE=$data[1].", ".$data[2];
  43. $img_file=$news_path."/news/images/topics/".$data[7];
  44. if(file_exists($img_file)&&!is_dir($img_file)){
  45. $img_size=GetImageSize($img_file);
  46. if($max_img_width>&& $img_size[0]>$max_img_width){$resize=$img_size[0]-$max_img_width;}else{$resize=0;}
  47. $width=$img_size[0]-$resize;
  48. }
  49. if($data[7]!=""){$NEWSIMAGE="<center>
  50. <img src=\"".$page_url."news/images/topics/".$data[7]."\" border=\"0\" width=\"".$width."\">
  51. </center>\n";}
  52. else{$NEWSIMAGE="<center>
  53. <img src=\"$default_img\" border=\"0\"\">
  54. </center>\n";}
  55. if($default_img=="" && $data[7]==""){$NEWSIMAGE="";}
  56. if($disable_images==1){$NEWSIMAGE="";}
  57. if($show_mail=="on"){
  58. $NEWSAUTHOR="<a href=\"mailto:$data[5]\">$data[4]</a>\n";
  59. }else{
  60. $NEWSAUTHOR=$data[4];
  61. }
  62. $newstext=explode(" ", $data[3]);
  63. $words_all=count($newstext);
  64. if($newsid>-1){
  65. $max_length=$words_all;
  66. }else{
  67. $max_length=$max_news_length;
  68. if($max_length>=$words_all){
  69. $max_length=$words_all;
  70. }else{
  71. $add_end=("...");
  72. }
  73. }
  74. $NEWSBODY="";
  75. for($z=0; $z<$max_length; $z++){
  76. $NEWSBODY .= " ".$newstext[$z];
  77. }
  78. $NEWSBODY=$NEWSBODY.$add_end;
  79. if($add_end!=""){
  80. $NEWSFULLSHOW=\n[ <a href=".$_SERVER["PHP_SELF"]."?news_action=more&newsid=$i>
  81. czytaj wi&ecirc;cej</a> ]\n";
  82. }else{
  83. $NEWSFULLSHOW="";
  84. }
  85. $NEWSBODY=$NEWSBODY.$NEWSFULLSHOW;
  86. if($disable_comments!=&& ($_GET["news_action"]=="display" || $_GET["news_action"]=="" || $_GET["news_action"]=="more")){
  87. $comment_file=ereg_replace("-", "", $data["1"]);
  88. $comment_file.=ereg_replace(":", "", $data["2"]);
  89. $NEWSCOMMENTS="<a href=".$_SERVER["PHP_SELF"]."?news_action=comments&news_base=$comment_file&newsid=$i>
  90. komentarze</a> [".$data[6]."]\n";
  91. $NEWSADDCOMMENT="<a href=".$_SERVER["PHP_SELF"]."?news_action=new_comment&news_base=$comment_file&newsid=$i>
  92. skomentuj</a>\n";
  93. $NEWSCOMMENTSLINKS=$NEWSCOMMENTS." | ".$NEWSADDCOMMENT;
  94. $NEWSPRINT="<a href=".$page_url."news/printnews.php?newsid=$i target=\"_blank\">
  95. drukuj</a>\n";
  96. }else{
  97. $NEWSCOMMENTSLINKS="";
  98. }
  99. $NEWSMENULINKS=$NEWSCOMMENTSLINKS;
  100. if($disable_print==&& $disable_comments!=&& $NEWSMENULINKS!=""){
  101. $NEWSMENULINKS.=" | ";
  102. }
  103. if($disable_print==0){
  104. $NEWSMENULINKS.=$NEWSPRINT;
  105. }
  106. $NEWSSIZE=strlen($NEWSBODY);
  107. $PRINTPAGE="$news_path/news/printnews.php";
  108. include "$news_path/news/template/$theme/news.tpl";
  109. echo $news_tpl;
  110. unset($words_all);
  111. unset($add_end);
  112. unset($NEWSDATE);
  113. }
  114. if($_GET["list"]=="" && $newsid==-1){
  115. $BOTTOMLINKS="<a href=\"".$_SERVER["PHP_SELF"]."?list=all\">
  116. wszystkie newsy</a> [$news_total]\n";
  117. }else{
  118. $BOTTOMLINKS="<a href=\"".$_SERVER["PHP_SELF"]."\">
  119. ostatnie newsy</a> [$show_num]\n";
  120. }
  121. $BOTTOMLINKS="<a href=\"news/admin.php\">
  122. administracja</a> | ".$BOTTOMLINKS;
  123. if($news_total<=$show_num){
  124. $BOTTOMLINKS="<a href=\"news/admin.php\">
  125. administracja</a>";
  126. }
  127. if($_GET["news_action"]=="more"){
  128. $BOTTOMLINKS="<a href=\"".$_SERVER["PHP_SELF"]."\">
  129. ostatnie newsy</a> [$show_num]";
  130. }
  131. include "$news_path/news/template/$theme/bottom.tpl";
  132. if($_GET["news_action"]==""||$_GET["news_action"]=="display" || $_GET["news_base"]=="" || $_GET["news_action"]=="more"){
  133. echo $bottom_tpl;
  134. }
  135. }else{
  136. echo "<p align=\"center\">
  137. Plik z newsami \"$newsdata\" nie zosta&sup3; odnaleziony!</p>\n";
  138. }
  139. }
  140. function show_comments($newsid, $news_base){
  141. global $news_path;
  142. require "$news_path/news/config.php";
  143. if($disable_comments==1){
  144. err_msg("<b>Obs&sup3;uga komentarzy jest wy&sup3;&plusmn;czona!</b>\n");
  145. }else{
  146. show_news($show_num,$_GET["newsid"]);
  147. $comments_file=$news_path."/news/data/comments/$news_base.dat";
  148. if(!file_exists($comments_file)|| filesize($comments_file)<1){
  149. err_msg("<b>Nie odnaleziono bazy komentarzy dla wybranego newsa!</b><br><br>
  150. [ <a href=\"".$_SERVER["PHP_SELF"]."?news_action=new_comment&newsid=".$_GET["newsid"]."&news_base=".$_GET["news_base"]."\">
  151. skomentuj</a> ]");
  152. }else{
  153. $NEWSHEADTEXT="Komentarze do newsa:\n";
  154. include "$news_path/news/template/$theme/top.tpl";
  155. echo $top_tpl;
  156. $comments_table=file($comments_file);
  157. $comments_no=count($comments_table);
  158. for($x=0; $x<$comments_no; $x++){
  159. $data=explode("*;*", $comments_table[$x]);
  160. $COMMENTDATE=$data[3].", ".$data[4];
  161. $COMMENTSBODY=$data[2];
  162. $COMMENTSAUTHOR="<a href=\"mailto:"."$data[1]"."\">"."$data[0]"."</a>";
  163. $COMMENTSHOSTDATA=trim($data[5]);
  164. $COMMENTSIPDATA=trim($data[6]);
  165. if($COMMENTSHOSTDATA==""){
  166. $COMMENTSHOSTDATA="brak danych";
  167. }
  168. if($COMMENTSIPDATA==""){
  169. $COMMENTSIPDATA="brak danych";
  170. }
  171. include "$news_path/news/template/$theme/comment.tpl";
  172. echo $comments_tpl;
  173. }
  174. $BOTTOMLINKS="<a href=".$_SERVER["PHP_SELF"]."?news_action=new_comment&news_base=$news_base&newsid=$newsid>
  175. skomentuj</a> | <a href=\"#top\">do góry</a> | <a href=\"".$_SERVER["PHP_SELF"]."\">
  176. ostatnie newsy</a> [$show_num]\n";
  177. include "$news_path/news/template/$theme/bottom.tpl";
  178. echo $bottom_tpl;
  179. }
  180. ?>
b_chmura
nie ten plik:D

poszukaj pliku który odpowiada za zmianę wszytkich bbcod'owych znaków na html'owe
przykładowe
Kod
[b][/b]
[i][/i]
[u][/u]
MrWujek
Znalazlem w admin_functions.php cos takiego:

  1. <?php
  2. $newsauthor=stripslashes($_POST["newsauthor"]);
  3. $newsauthor=str_replace("*;*", "* ; *", $newsauthor);
  4. $newsauthor=strip_tags($newsauthor);
  5. $newsemail=stripslashes($_POST["newsemail"]);
  6. $newsemail=str_replace("*;*", "* ; *", $newsemail);
  7. $newsemail=strip_tags($newsemail);
  8. if($_POST["savenews"]==" zapisz "){
  9. $newstitle=strip_tags($newstitle);
  10. $newstitle=stripslashes($newstitle);
  11. $newstitle=str_replace("*;*", "* ; *", $newstitle);
  12. $newsbody=strip_tags($newsbody);
  13. $newsbody=stripslashes($newsbody);
  14. $newsbody=str_replace("\n", "<br>", $newsbody);
  15. $newsbody=str_replace("", "<b>", $newsbody);
  16. $newsbody=str_replace("", "</b>", $newsbody);
  17. $newsbody=str_replace("", "<i>", $newsbody);
  18. $newsbody=str_replace("", "</i>", $newsbody);
  19. $newsbody=str_replace("", "<u>", $newsbody);
  20. $newsbody=str_replace("", "</u>", $newsbody);
  21. $newsbody=str_replace("
    ", "<center>", $newsbody);
  22. $newsbody=str_replace("
    \n", "</center>", $newsbody);
  • $newsbody=str_replace("[/center]", "</center>", $newsbody);
  • $newsbody=str_replace("[img]", "<img src=\"", $newsbody);
  • $newsbody=str_replace("[/img]", "\" border=\"0\">", $newsbody);
  • $newsbody=str_replace("[tag]", "&lt;", $newsbody);
  • $newsbody=str_replace("[/tag]", "&gt;", $newsbody);
  • $newsbody=str_replace("[a]", "<a href="_blank"\", $newsbody);
  • $newsbody=str_replace("[a2]", "&#092;" >", $newsbody);
  • $newsbody=str_replace("[/a]", "</a>", $newsbody);
  • $newsbody=str_replace("*;*", "* ; *", $newsbody);
  • if($newsnr=="" || $newsdate=="" || $newshour=="" || $newstitle=="" || $newsbody=="" || $newsauthor=="" || $newsemail==""){
  • echo "<p align=\"center\">Nie podano wymaganych danych!</p>\n";
  • ?>


  • To ten plik?
    b_chmura
    łał ale ktoś zrypał robotę ohmy.gif

    te trzy linijki:
    1. <?php
    2. $newsbody=str_replace("[a]", "<a href="_blank"\", $newsbody);
    3. $newsbody=str_replace("[a2]", "&#092;" >", $newsbody);
    4. $newsbody=str_replace("[/a]", "</a>", $newsbody);
    5. ?>


    zmień na:
    1. <?php
    2. $newsbody = preg_replace('/.*?(http://)?(www.)?([a-zA-Z0-9@#%&_=~?/.-]+.)([a-zA-Z0-9]{2,4})?.*?/','<a target="_blank" href="http://www.34">www.34</a>',$newsbody);
    3. $newsbody = preg_replace('/+.)([a-zA-Z0-9]{2,4})?.*?](.*?)/','<a target="_blank" href="http://34">5</a>',$newsbody);
    4. ?>


    w teksie odwołujesz sie tak:
    Kod
    dsflksjdf  dsgdsfg fgf [url=www.google.pl]link[/url]  sdasdas
    lub
    dasdasdsa [url]www.google.pl[/url] sdifjsdofsdfl


    ma być.

    EDIT
    Forum trochę zmienia kod...
    wejdz tutaj
    MrWujek
    Działa smile.gif)) Wielkie Dzieki party.gif tylko teraz mam jeszcze jeden problem bo jak chce zeby po kliknieciu w link przerzucalo np do takiej strony: http://clkuk.tradedoubler.com/click?p=2365...&g=16864156

    to w newsie wyswietla sie tylko http://clkuk.tradedoubler.com/

    I czy moze wiecie jeszcze jak zrobic zeby zdjecie bylo odsylaczem?
    b_chmura
    podmień tamte dwie linijki na te: link

    a co do obrazków to po poprostu:
    Kod
    [url=http://www.jakis.adres.pl][img ]www.jakis.adres.pl[/ img][/url]
    wisnia100
    b_chmura lub MRWujek możecie jeszcze raz wkleic najlepiej screena który kod i na jaki podmienić do tych linków by w nowych oknach się otwierały

    z góry dziękuję
    To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
    Invision Power Board © 2001-2024 Invision Power Services, Inc.