HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 01.07.2008, 20:22
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


Отправить сообщение для mff с помощью ICQ
По умолчанию

Как вывести новости из xml ? Уже от мануала голова кругом

rss.inc
PHP код:
<?php
/*   CRss версия 1.0 от 02.01.2007
*    класс для создания каналов новостей RSS
*    http://www.caseclub.ru
*    используйте без ограничений
*/
class CRss
{
 var 
$Title;          // заголовок канала
 
var $Link;           // ссылка на главную страницу
 
var $Copyright;      // копирайт
 
var $Description;    // описание канала
 
var $LastBuildDate;  // дата последнего документа (по умолчанию текущая)
 
var $Language;        // язык
 
var $PubDate;        // дата публикации
 
var $ManagingEditor;  // E-mail редактора
 
var $WebMaster;      // E-mail webmaster
 
var $Category;       // категория

 
var $Query;          // содержимое запроса
 
var $Connect;           // для соединения с базой данных
 
var $Result;         // для хранения результата

 
function Translate($text)    // кодируем для вывода
 
{


    
$trans = array("<" => "&lt;"">" => "&gt;",'"' => "&quot;","&" => "&amp;");
    
$text=strtr($text,$trans);
    
$array=explode("<br>",$text);
    
$count=count($array);
    return 
$text;

 }

 function 
Query()
 {
   
$this->Result mysql_query($this->Query) or die("Query failed");
 }
 function 
Open($Server,$DataBase,$Login,$Password)    // открыть MySql
  
{
  
$this->Connect mysql_connect($Server$Login$Password ) or die("Could not connect");
          
mysql_select_db($DataBase) or die("Could not select database");

  }
  function 
Close()  // закрыть MySql
  
{
     
mysql_free_result($this->Result);
     
mysql_close($this->Connect);
  }


 function 
PrintHeader()   // печать заголовка
 
{
      
header("Content-Type: application/xml ");   // сразу говорим, что это формат XML
       
$RN="\r\n";
      
$End="?";
      
$Date=date("r");   // дата в формате Mon, 25 Dec 2006 10:23:37 +0400
      
print "<$End";
      print 
"xml version=\"1.0\" encoding=\"windows-1251\" $End$RN";
      print 
"<rss version=\"2.0\">$RN";
      print 
"   <channel>$RN";
      print 
"       <title>$this->Title</title>$RN";
      print 
"       <category>$this->Category</category>$RN";
      print 
"       <link>$this->Link</link>$RN";
      print 
"       <copyright>$this->Copyright</copyright>$RN";
      print 
"       <description>$this->Description</description>$RN";
      print 
"       <lastBuildDate>$this->LastBuildDate</lastBuildDate>$RN";
      print 
"       <language>$this->Language</language>$RN";
      print 
"       <pubDate>$this->PubDate</pubDate>$RN";
      print 
"       <docs>http://site.ru/rss</docs>$RN";
      print 
"       <managingEditor>$this->ManagingEditor</managingEditor>$RN";
      print 
"       <webMaster>$this->WebMaster</webMaster>$RN";
}
 function 
PrintBody($Title,$Link,$Description,$Category,$PubDate)   // печать тела
{
       
$RN="\r\n";
      
//$Title =$this->Translate($Title);
      //$Link =$this->Translate($Link);
      
$Description =$this->Translate($Description);
      print 
"              <item>$RN";
      print 
"                <title>$Title</title>$RN";
      print 
"                 <link>$Link</link>$RN";
      print 
"                 <description>$Description</description>$RN";
      print 
"                 <category>$Category</category>$RN";
      print 
"                 <pubDate>$PubDate</pubDate>$RN";
      print 
"                 <guid>$Link</guid>$RN";
      print 
"              </item>$RN";
}
 function 
PrintFooter()   // печать заголовка
 
{
    print 
"   </channel>$RN";
    print 
"</rss>$RN";
 }


}
?>
rss.php
PHP код:
<?php
     
// начало программы
     
include "rss.inc";           // это собственно класс
     
include "conn.inc";           // переменные для открытия базы
     

   
$Rss= new CRss();

   
$Rss->Title="RSS Мой сайт";
   
$Rss->Link="http://site.ru/rss/";
   
$Rss->Copyright="© .";
   
$Rss->Description="Описание";
   
$Rss->Category "Разработка программного обеспечения";
   
$Rss->Language="ru";

   
$Rss->ManagingEditor="info@sandalhouse.ru";
   
$Rss->WebMaster="info@site.ru";
   
$Rss->Query="SELECT
                BLOG.title,
                BLOG.description,
                BLOG.link,
                BLOG.date,
                BLOG.category
     FROM BLOG
     ORDER by DATE desc Limit 0,20"
;

    
$Rss->Open($Server,$DataBase,$Login,$Password);
     
$Rss->LastBuildDate=date("r");
      
// получаем последнюю дату публикации
     
$query "select BLOG.DATE
                        FROM BLOG
          ORDER by BLOG.date desc Limit 0,1"
;

      
$result1 mysql_query($query)
              or die(
"FROM blog failed");

      
$line mysql_fetch_array($result1);

      
$Date =date("r",strtotime($line[0]));
       
mysql_free_result($result1);

      
$Rss->LastBuildDate=$Date;
      
$Rss->PubDate=$Rss->LastBuildDate;

     
$Rss->PrintHeader();
     
$Rss->Query();

     while (
$line mysql_fetch_array($Rss->Result))
     {   
// для каждой записи выведем
               
$Title $line[0];
               
$Description $line[1];
               
$Link=$line[2];
               
$PubDate=date("r",strtotime($line[3]));
               
$Category=$line[4];
               
$Rss->PrintBody($Title,$Link,$Description,$Category,$PubDate);
    }
    
$Rss->PrintFooter();
    
$Rss->Close();

?>
rss.xml
Код HTML:
 <?xml version="1.0" encoding="UTF-8" ?> 
  <rss version="2.0">
   <channel>
     <title>Моя лента новостей</title> 
     <link>http://www.моя_лента.ru</link> 
     <description>Самый лучший блог на свете</description> 
     <lastBuildDate>Sat, 30 Dec 2006 00:00:00 +0300</lastBuildDate> 
     <item>
         <title>С Новым Годом!</title> 
         <link>http://www.моя_лента.ru/new1.html</link> 
         <description>Поздравляем всех читателей с Новым Годом</description> 
     </item>
   </channel>
  </rss>
Табличка в базе
Код:
CREATE TABLE BLOG ( ID int(11) NOT NULL default '0', title varchar(50) default NULL, description text default NULL, link varchar(200) default NULL, date date default NULL, category varchar(100) NOT NULL default '', ab varchar(10) NOT NULL default '', PRIMARY KEY (ID) ) TYPE=MyISAM;
 
Ответить с цитированием

  #2  
Старый 02.07.2008, 03:08
l0l1k
Познающий
Регистрация: 27.01.2008
Сообщений: 34
Провел на форуме:
62811

Репутация: 12
По умолчанию

можете обяснить чо такое class в php? мне совсем из учебников не понятно ((((
эта типа функций?
к обяснению я бы не против что бы написали пример в паскале. может через него пойму.

Последний раз редактировалось l0l1k; 02.07.2008 в 03:18..
 
Ответить с цитированием

  #3  
Старый 02.07.2008, 04:01
PHPoozy
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме:
881554

Репутация: 66
По умолчанию

class - это конструкция задающая образец по которому будет построен объект
 
Ответить с цитированием

  #4  
Старый 02.07.2008, 04:08
l0l1k
Познающий
Регистрация: 27.01.2008
Сообщений: 34
Провел на форуме:
62811

Репутация: 12
По умолчанию

Цитата:
Сообщение от PHPoozy  
class - это конструкция задающая образец по которому будет построен объект
такое я и в учебнике вижу
мне надо чтоб обяснили совсем на пальцах
 
Ответить с цитированием

  #5  
Старый 02.07.2008, 07:48
nbd
Познающий
Регистрация: 27.10.2006
Сообщений: 90
Провел на форуме:
560577

Репутация: 68
Отправить сообщение для nbd с помощью ICQ
По умолчанию

Цитата:
Сообщение от l0l1k  
такое я и в учебнике вижу
мне надо чтоб обяснили совсем на пальцах
По просьбам трудящихся.

Вот смоти у тебя на руке есть 5 объектов "палец", каждый палец имеет определенный набор свойств и методов. Допустим:

PHP код:
класс палец{
                  var 
$длина;    //это
                  
var $ширина;    //свойства 
                  
var $цвет="телесный";  //пальца
                  
var $название;
                  var 
$положение=0;           //текущее положение пальца, то есть палец не согнут.
                  
function сгибание_пальца($угол) {   //сгибание_пальца это метод работы с обектом палец.
                  
this->положение=this->положение+$угол;
                  if (
this->положение<0) {echo "Чувак, ты сломал палец!";} else {echo "ты согнул палец на $угол градусов";}
                  }
                  function 
рост_пальца($прирост_длины$прирост_ширины) {   
                  .......
                  } 
                  function 
изменение_имени_пальца($новое_имя) {   
                  ................
                  }
                  function 
изменение_цвета_пальца($цвет) {  
                  .....................
                  }

На основании этого класса ты, например, можешь создать объект "указательный палец" и используя методы(функции класса) менять свойства(переменные класса) объекта палец.
Думаю данное объяснение может и образно не на пальцах, но зато, на пальцах фактически (=

Последний раз редактировалось nbd; 02.07.2008 в 07:52..
 
Ответить с цитированием

  #6  
Старый 02.07.2008, 04:14
PHPoozy
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме:
881554

Репутация: 66
По умолчанию

Цитата:
мне надо чтоб обяснили совсем на пальцах
_http://www.killerphp.com/videos/oop_objects_and_classes/objects_and_classes.html
 
Ответить с цитированием

  #7  
Старый 02.07.2008, 08:00
!{ra!{e/\/
Banned
Регистрация: 27.08.2007
Сообщений: 159
Провел на форуме:
994336

Репутация: 171
Отправить сообщение для !{ra!{e/\/ с помощью ICQ
По умолчанию

кусочек из html кода
Код:
<option value="hersteller1">ALFA ROMEO</option>
<option value="hersteller2">ALPINE</option>
<option value="hersteller3">ARO</option>
<option value="hersteller4">AUDI</option>
<option value="hersteller5">AUSTIN</option>
<option value="hersteller6">AUTO UNION</option>
мне надо выдрать из этого
Код:
ALPINE
ARO
AUDI
AUSTIN
AUTO UNION
какое регулярное выражение мне для этого использовать?
 
Ответить с цитированием

  #8  
Старый 02.07.2008, 08:26
nbd
Познающий
Регистрация: 27.10.2006
Сообщений: 90
Провел на форуме:
560577

Репутация: 68
Отправить сообщение для nbd с помощью ICQ
По умолчанию

А зачем тебе здесь регулярка? Вполне хватит
PHP код:
$filename="test.txt";
$buff=file_get_contents($filename);
echo 
strip_tags($buff,"<br>"); 
а если нужна регулярка то вот:
/[A-Z\s*]+/

Последний раз редактировалось nbd; 02.07.2008 в 08:38..
 
Ответить с цитированием

  #9  
Старый 02.07.2008, 08:44
!{ra!{e/\/
Banned
Регистрация: 27.08.2007
Сообщений: 159
Провел на форуме:
994336

Репутация: 171
Отправить сообщение для !{ra!{e/\/ с помощью ICQ
По умолчанию

Цитата:
Сообщение от nbd  
а если нужна регулярка то вот:
/[A-Z\s*]+/
А она правильная?
PHP код:
<?php 
$file 
file_get_contents('http://www.aamkatalog.ctapps.de/aam_katalog.pl?action=kfzsearch&lang=en'); 
$pattern "/[A-Z\s*]+/"
preg_match_all($pattern,$file,$matches);  
//print_r($matches); 
//echo strip_tags($file);
foreach($matches[1] as $link) echo $link.'<br>'
?>
почему то ничего не выдает((
 
Ответить с цитированием

  #10  
Старый 02.07.2008, 09:07
zythar
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
Провел на форуме:
1595333

Репутация: 291


Отправить сообщение для zythar с помощью ICQ
По умолчанию

попробоуй \s убрать. что тогда будет?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ