ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

01.07.2008, 20:22
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Как вывести новости из 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("<" => "<", ">" => ">",'"' => ""","&" => "&");
$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;
|
|
|

02.07.2008, 03:08
|
|
Познающий
Регистрация: 27.01.2008
Сообщений: 34
Провел на форуме: 62811
Репутация:
12
|
|
можете обяснить чо такое class в php? мне совсем из учебников не понятно ((((
эта типа функций?
к обяснению я бы не против что бы написали пример в паскале. может через него пойму.
Последний раз редактировалось l0l1k; 02.07.2008 в 03:18..
|
|
|

02.07.2008, 04:01
|
|
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме: 881554
Репутация:
66
|
|
class - это конструкция задающая образец по которому будет построен объект
|
|
|

02.07.2008, 04:08
|
|
Познающий
Регистрация: 27.01.2008
Сообщений: 34
Провел на форуме: 62811
Репутация:
12
|
|
Сообщение от PHPoozy
class - это конструкция задающая образец по которому будет построен объект
такое я и в учебнике вижу
мне надо чтоб обяснили совсем на пальцах 
|
|
|

02.07.2008, 07:48
|
|
Познающий
Регистрация: 27.10.2006
Сообщений: 90
Провел на форуме: 560577
Репутация:
68
|
|
Сообщение от 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..
|
|
|

02.07.2008, 04:14
|
|
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме: 881554
Репутация:
66
|
|
мне надо чтоб обяснили совсем на пальцах
_http://www.killerphp.com/videos/oop_objects_and_classes/objects_and_classes.html
|
|
|

02.07.2008, 08:00
|
|
Banned
Регистрация: 27.08.2007
Сообщений: 159
Провел на форуме: 994336
Репутация:
171
|
|
кусочек из 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
какое регулярное выражение мне для этого использовать?
|
|
|

02.07.2008, 08:26
|
|
Познающий
Регистрация: 27.10.2006
Сообщений: 90
Провел на форуме: 560577
Репутация:
68
|
|
А зачем тебе здесь регулярка? Вполне хватит
PHP код:
$filename="test.txt";
$buff=file_get_contents($filename);
echo strip_tags($buff,"<br>");
а если нужна регулярка то вот:
/[A-Z\s*]+/
Последний раз редактировалось nbd; 02.07.2008 в 08:38..
|
|
|

02.07.2008, 08:44
|
|
Banned
Регистрация: 27.08.2007
Сообщений: 159
Провел на форуме: 994336
Репутация:
171
|
|
Сообщение от 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>';
?>
почему то ничего не выдает((
|
|
|

02.07.2008, 09:07
|
|
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
Провел на форуме: 1595333
Репутация:
291
|
|
попробоуй \s убрать. что тогда будет?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|