Форум сетевых администраторов
Показаны 12 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Url (http://netadmin.ws/forum/showthread.php?threadid=4782)


Помещено Fostr 18-03-2003 в 11:45:

Question Url

Вообщем в скрипте новостей (на php), при выводе текста, не получается сделать вид ссылок.. (http:// , <A href="http://) не работают. Я вроде прописывал функцию но все равно в виде url не отображаются. Как этот запрет на html теги снять? Спасибо.


Помещено Orliha 18-03-2003 в 12:47:

код приведи

__________________
RTFM (Уважаемые! Читайте документацию!)


Помещено Fostr 18-03-2003 в 17:31:

Orliha,
что весь код приводить? Он ведь длинющий. Да и потом я не знаю, в каком именно месте эта загвостка.


Помещено SCHIZO 18-03-2003 в 18:45:

приведи ту часть кода в которой у тебя идет вывод в броузер, т.е. все строчки с функциями типа print, echo ...

__________________
FAQ OFF


Помещено Fostr 19-03-2003 в 03:45:

Мне кажется где то здесь,

[PHP]print "<HEAD><LINK REL=STYLESHEET TYPE=\"text/css\" HREF=\"$styles\"></HEAD>";
print "<font face=Tahoma size=2>";[PHP]


Помещено Nevermind 19-03-2003 в 03:51:

Fostr,
Тебе кажется неправильно. Давай в студию код своей загадочной функции, которую ты прописывал.

Или хотя бы имя скрипта этого дай.. поковыряем.


Помещено Fostr 19-03-2003 в 05:45:

вот код файла, functions.php, может тут чего?
------------------------

PHP:


<?
function untag ($string)
{
        
$string = ereg_replace('"',"&quot;",$string);
        
$string = ereg_replace("<","&lt;",$string);
        
$string = ereg_replace(">","&gt;",$string);
        
$string = ereg_replace('\\"',"&quot;",$string);
        
$string = ereg_replace(":","&#58;",$string);
        
$string = ereg_replace("!","&#33;",$string);
        
$string = ereg_replace("\r","",$string);
        
$string = ereg_replace("\n","<br>",$string);
        
$string = ereg_replace("%","&#37;",$string);
        
$string = ereg_replace("^ +","",$string);
        
$string = ereg_replace(" +$","",$string);
        
$string = ereg_replace(" +"," ",$string);
        return 
$string;
}
function 
AddBR ($string)
{
 
$string = ereg_replace(strtolower("&lt;br&gt;"),"<br>",$string);
return 
$string;
}
function 
NewPassReg($record)
{
global 
$reg,$newpassregtext;
//abcdefghijklnmopqrstuvwxyz
//$words = " Ay1Bn2hC3uDf4Eq5sgF6Gm7Hx8Iw9vrJ0ozatKiLpMgNOcPlQb
RSkdTUVeWXYZ";
//    if(
$record == true)
//    {
    
$words = " Ay1Bn2hC3uDf4Eq5sgF6Gm7Hx8Iw9vrJ0ozatKiLpMgNOcPlQb
RSkdTUVeWXYZ
";
    for (
$i = 0; $i <= 7; $i++)
    {
     
$newreg[$i] = $words[rand(0,61)];
    }
     
$newreg = join($newreg, "");
     if(
$newpassregtext != "")
     {
     
$newreg = $newpassregtext;
     }
     
$newregcr = md5($newreg);
//    }
     if(
$record == true)
     { 
     
$open = fopen("$reg","w");                      
      fputs(
$open, "$newregcr");
     fclose(
$open);
     }
return 
$newreg;
}
$allmess=0;
function AllMessage(
$allmess)
{
 global 
$nick, $newsfile;
 
$file=file_exists($newsfile);
 if (
$file!=false) $file=file($newsfile);
 
$massize=sizeof($file);
 for(
$i=0;$i < $massize;$i++)
 {
  
$mass=explode("::",$file[$i]);
//    print 
$nick; 
  if(strtolower(
$nick) == strtolower($mass[0]))
  {

   
$allmess++;
  }
 }
 return 
$allmess;
}
function AddNews()
{
 global 
$newsfile,$nick,$email,$sub,$data,$ist,$new, $nickl, $pass, $unixtime,$users;
 
$email = untag($email);
 
$sub = untag($sub);
 
$data = untag($data);
 
$ist = untag($ist);
 
$new = untag($new);
 
$new = AddBR($new);
 
$file2 = file("$users/$nick.dat");
 
$mass=explode("::",$file2[0]);
 
$nick2 = trim($mass[3]);
 
$id = $unixtime;
 
$file = file($newsfile);
 
$mass = explode("::",$file[0]);
 
$tlog  = $mass[0];
 
$temail = $mass[1];
 
$tsub   = $mass[2];
 
$tdata  = $mass[3];
 
$tist   = $mass[4];
 
$tnew   = $mass[5];
// 
$lastid = $mass[6];
 
$tfile = "$tlog::$temail::$tsub::$tdata::$tist::$tnew";
 
$tempvar = "$nick::$email::$sub::$data::$ist::$new";
//   print "
!$tempvar!$tfile!";
//  
$tempfile = 
 if(
$tempvar != $tfile)
 {
  
$file = file($newsfile);
  
$open = fopen($newsfile,"w");
  if(strtolower(
$nick) == "admin")
  {
   fputs(
$open," $nick::$email::$sub::$data::$ist::$new::$id::$nick
2
\n");
  }else
  {
   fputs(
$open,"$nick::$email::$sub::$data::$ist::$new::$id\n");
  }
  fclose(
$open);
 for(
$j = 0;$j < sizeof($file);$j++)
 {
  
$file[$j] = trim($file[$j]);
  
$open = fopen($newsfile,"a");
    fputs(
$open,"$file[$j]\n");
  fclose(
$open);
 }
 require('temp/log.htm');
 require('temp/add.htm');
 }else
  {
 // print "
Adddddd!!1";
  require('temp/log.htm');
  require('temp/add.htm');
  }
}
function ShowNews()
{
 global  
$newsfile,$nick,$email,$sub,$data,$ist,$new,$unixt
 ime,
$pass,$allmess,$pages,$page,$sizepage,$ns,$id,
$error,$date,$users;
// 
$sizepage-1;

 
$femail = file("$users/$nick.dat");
 
$mass=explode("::",$femail[0]);
 
$mass[2] = trim($mass[2]);
 
$email=$mass[2];
 
$nick2=$mass[3];
// 
$memail =explode("::",$file[$]);
//  
$log   = $mass[0];


$file=file_exists($newsfile);
if (
$file!=false) $file=file($newsfile);

 
$allmess = AllMessage($allmess);
 
$pages = $allmess / $sizepage;
 
$size = sizeof($file);
 
$pages = Ceil($pages);
 
$pagetext="<center>";
 if(
$page == "")
 {
  
$page = 1;
 }
for(
$i=1; $i <= $pages; $i++)
{
 if(
$allmess != 0){$pagetext.=" | ";}
 if(
$i == $page)
 {
  
$pagetext.="$i";
 }
 if(
$i != $page)
  {
   
$pagetext.="<a href=\"$filename?action=log&action=del&page=$i&nick=$nick&pass=$pass\">$i</a>";
  }
}
// $pagetext.="|";
  
if($allmess != 0){$pagetext.=" | ";  }
 
$pagetext.="</center>";
 print 
$pagetext;
 print 
"Всего новостей: $allmess";
 if(
$allmess == 0)
 {
  print 
"$error[9]";
  require(
'temp/new.htm');
//  print $email;
 
}

if(
$page >= 1)
{
 
$h1=($page-1)*$sizepage+1;
 
$h2=$page*$sizepage;
 
$i=$h1;
 
$ns=0;
 
$np=1;

$open=file_exists($newsfile);
if (
$open!=false) $open=fopen($newsfile,"r");

while((
$np < $h1) && ($ns <= $size) && ($open!=false))
{
  
$fstr="";
  
$char="";
  while ((
$char!="\n") && (feof($open)==false)) 
  {
   
$char=fread($open, 1);
   
$fstr="$fstr$char";
  }
  
$mass=explode("::",$fstr/*$file[$ns]*/);
  
$log   = $mass[0];
  
$email = $mass[1];
  
$sub   = $mass[2];
  
$data  = $mass[3];
  
$ist   = $mass[4];
  
$new   = trim($mass[5]);
//  $id    = mass[6];
//  $id   = $mass[6];
 
if(strtolower($log) == strtolower($nick))
 {
   
$np++;
 }
 
$ns++;
}

while((
$i <= $h2) && ($ns <= $size) && ($open!=false))
{
 
$fstr="";
 
$char="";
 while ((
$char!="\n") && (feof($open)==false)) 
 {
  
$char=fread($open, 1);
  
$fstr="$fstr$char";
 }
  
$mass=explode("::",$fstr);
  
$log   = $mass[0];
  
$email = $mass[1];
  
$sub   = $mass[2];
  
$data  = $mass[3];
  
$ist   = $mass[4];
  
$new   = trim($mass[5]);
  
$id    = $mass[6];
  if(
strtolower($log) == strtolower($nick))
  {
    require(
'temp/delete.htm');
    
$i++;
  }
  
$ns++;
}
if (
$open!=false) fclose($open);
}
 print 
$pagetext;
 print 
"Всего новостей: $allmess";

 return 
$ns;
}
function 
DeleteNews()
{
 global  
$newsfile,$nick,$newemail,$newsub,$newdata,$newist
,$newnew,$pass,$allmess,$ns,$id,$edit;
 
##################################################
#############################
$newemail = untag($newemail);
$newsub = untag($newsub);
$newdata = untag($newdata);
$newist = untag($newist);
$newnew = untag($newnew);
$new = AddBR($new);
if(
$newemail == "" && $newsub == "" && $newdata == "" && $newist == "" && $newnew == "")
{
 require(
'temp/log.htm');
 
ShowNews();
}else {
if(
$newemail != "" && $newsub != "" && $newdata != "" && $newist != "" && $newnew != "")
{
  require(
'temp/log.htm');
//if ($edit == "delete" || $edit == "change")
//{

// if($edit == "delete")
// {
 
$file = file($newsfile);
 
$open = fopen("$newsfile","w");
 
fclose($open);
  for (
$i = 0; $i < sizeof($file); $i++)
 {
  
$file[$i] = trim($file[$i]);
  
$mass=explode("::",$file[$i]);
  
$log   = $mass[0];
  
$email = $mass[1];
  
$sub   = $mass[2];
  
$data  = $mass[3];
  
$ist   = $mass[4];
  
$new   = $mass[5];
  
$unixtime = $mass[6];
 
$open = fopen("$newsfile","a"); 
 if(
$edit == "delete")
 {
  if (
$id != $unixtime)
  {
   
fputs($open," $log::$email::$sub::$data::$ist::$new::$unixtime\n
"
);
  }
 }
   if (
$edit == "change")
   {
    if (
$id == $unixtime)
    {
     
fputs($open," $nick::$newemail::$newsub::$newdata::$newist::$new
new::
$unixtime\n");
    }else
    {
    
fputs($open," $log::$email::$sub::$data::$ist::$new::$unixtime\n
"
);
    }
   }
//   else
/*   {
    fputs($open," $log::$email::$sub::$data::$ist::$new::$unixtime\n
");
   }*/
  
fclose($open);
 }
 
ShowNews();
}
//}
 
else
 {
  require(
'temp/log.htm');
  print 
$error[1];
  
ShowNews();
 }
}
 
##################################################
#############################
}
?>


Помещено SCHIZO 20-03-2003 в 21:52:

Нда.. поди туда, незнаю куда, принеси то незнаю что... Покуда у тебя не появиться желания хоть как то разобраться самому думаю, что вряд ли кто то тебе сможет помочь
P.S.
проблема то на самом деле простая, но ты хотя бы найди то место где она возникает...

__________________
FAQ OFF


Помещено polo 20-03-2003 в 21:57:

скорее всего это функция shownews()

__________________
Всегда есть решение.


Помещено Nevermind 21-03-2003 в 00:01:

На самом верху функция, которая режет хтмл:

PHP:


function untag ($string) 
{
...
}

Функцию можешь оставить. Просто убери ее вызов на нужные переменные. Скажем, здесь:

PHP:

function AddNews() 
{ 
global 
$newsfile,$nick,$email,$sub,$data,$ist,$new, $nickl, $pass, $unixtime,$users; 
$email = untag($email); 
$sub = untag($sub); 
$data = untag($data); 
$ist = untag($ist); 
$new = untag($new);

Что где лежит, думаю, разберешься сам. А то и правда как-то неинтересно получается


Помещено Fostr 21-03-2003 в 05:06:

Вообщем сделал я как тут скзано было, и сам еще кое-что еще поубирал. Теперь допустим <a href="http://tt.ru">http://tt.ru</a>, преобразуется как ссылка т.е. http://tt.ru ! Но! теперь другая проблема (ее я решить не смог) при клике на ссылку, она выводит урл никак, http://tt.ru, а http://www.mysite.ru/"http://tt.ru/" почему так? И кавычкм эти еще.


Помещено Fostr 21-03-2003 в 14:48:

Ð_ебята всем спасибо! Проблема решена.

P.S. помогла функция stripslashes().


Формат времени GMT. Текущее время 06:28.
Показаны 12 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.