#167327 gửi bởi kotvnn
Ngày 18 Tháng 03 2015 , 13:42
Mình đang muốn làm 1 file có thể sử dụng ngôn ngữ php hoặc javascript để lấy 1 bài viết mới nhất trong một chủ đề của module tin tức Nukeviet 3.x.
Vấn đề là không biết bắt đầu từ đâu.

Giả dụ như mình làm 1 file php chỉ đơn giản là lấy 1 tin mới nhất trong mục Cộng đồng Nukeviet => http://nukeviet.vn/vi/news/community/ thì hướng giải quyết thế nào ?
Các bạn ai nắm được cái này cho mình hướng để mình nghiên cứu nhé :) Chân thành cảm ơn :) .

Cần hỗ trợ về giao diện NukeViet
Hoàng Tùng (Kot)
Email: kotvnn@msn.com
Phone: 0913 268 293 (imessage)
#167328 gửi bởi dangdinhtu
Ngày 18 Tháng 03 2015 , 13:55
bạn lấy thông qua ứng dụng đọc file xml và lấy nội dung từ http://nukeviet.vn/vi/news/rss/community/ là sẽ được

Diễn đàn Nukeviet mới do Mình và Nhím thủ lĩnh thành lập các bạn ghé qua học tập trao đổi nhé https://forum.nuke.vn/
#167329 gửi bởi dangdinhtu
Ngày 18 Tháng 03 2015 , 13:57

Diễn đàn Nukeviet mới do Mình và Nhím thủ lĩnh thành lập các bạn ghé qua học tập trao đổi nhé https://forum.nuke.vn/
#167330 gửi bởi kotvnn
Ngày 18 Tháng 03 2015 , 14:52
Rất cảm ơn Dangdinhtu, nhưng không hiểu sao, với các site khác đều lấy được, duy code Nukeviet thì lại không được :(

Mã: Chọn hết
<?php
$rss = simplexml_load_file('http://vnexpress.net/rss/tin-moi-nhat.rss');

echo '<h1>'. $rss->channel->title . '</h1>';

foreach ($rss->channel->item as $item) {
echo '<h2><a href="'. $item->link .'">' . $item->title . "</a></h2>";
echo "<p>" . $item->pubDate . "</p>";
echo "<p>" . $item->description . "</p>";
}
?>

Lấy tin ổn nhưng chuyển link sang Nukeviet lại không được, đều báo lỗi

Mã: Chọn hết
<?php
$rss = simplexml_load_file('http://nukeviet.vn/vi/news/rss/community/');

echo '<h1>'. $rss->channel->title . '</h1>';

foreach ($rss->channel->item as $item) {
echo '<h2><a href="'. $item->link .'">' . $item->title . "</a></h2>";
echo "<p>" . $item->pubDate . "</p>";
echo "<p>" . $item->description . "</p>";
}
?>

Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\test.php on line 6

Có thể giải thích giúp mình đc ko :( dốt món này quá :(

Cần hỗ trợ về giao diện NukeViet
Hoàng Tùng (Kot)
Email: kotvnn@msn.com
Phone: 0913 268 293 (imessage)
#167351 gửi bởi anhyeuviolet
Ngày 19 Tháng 03 2015 , 04:27
Thực ra chỉ riêng site http://nukeviet.vn/vi/news/rss/community/ này là bị thôi. Thế RSS của một site NV khác vào xem sao :D
( Nhưng block của mình lấy RSS từ URL trên vẫn được, code php lại ko được =)) )

Cổng nhôm đúc Nhật Bản
http://www.asuzac-acm.com.vn/vi/acm/cong-nhom-duc/
#167357 gửi bởi hongoctrien
Ngày 19 Tháng 03 2015 , 08:23
kotvnn đã viết:Rất cảm ơn Dangdinhtu, nhưng không hiểu sao, với các site khác đều lấy được, duy code Nukeviet thì lại không được :(
Có thể giải thích giúp mình đc ko :( dốt món này quá :(


:D :D
Lâu lâu lắm rồi mình cũng lấy như bạn mà không được. Rss của nukeviet không dể đọc bằng kiểu đó.
Rồi cũng làm được nhưng lâu quá mình không giữ code, bạn mở block global.rss.php tham khảo code của block đó nhé, hoặc tìm cách đọc rss bằng curl.

Hỏi nhanh đáp gọn tất tần tật mọi thứ liên quan đến NukeViet ==> https://mynukeviet.net/hoi-dap/
#167363 gửi bởi dangdinhtu
Ngày 19 Tháng 03 2015 , 13:36
Mã: Chọn hết
<?php

/**
* @Project NUKEVIET 4.x - GET_RSS_NUKEVIET
* @Author DANGDINHTU (dlinhvan@gmail.com)
* @Copyright (C) 2012 webdep24.com All rights reserved
* @Createdate 0:20 20/03/2015
**/

function get_content_nukeviet( $url )
{
$userAgents = array( //
'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36', //
'Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0', //
'Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16', //
'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko', //
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A' );
srand( ( float )microtime() * 10000000 );
$rand = array_rand( $userAgents );
$agent = $userAgents[$rand];

$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_HEADER, 0 );
curl_setopt( $ch, CURLOPT_ENCODING, 'UTF-8' );
$safe_mode = ( ini_get( 'safe_mode' ) == '1' || strtolower( ini_get( 'safe_mode' ) ) == 'on' ) ? 1 : 0;
$open_basedir = @ini_get( 'open_basedir' ) ? true : false;
if( ! $safe_mode and ! $open_basedir )
{
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt( $ch, CURLOPT_MAXREDIRS, 10 );
}
curl_setopt( $ch, CURLOPT_TIMEOUT, 20 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, $agent );
$html = curl_exec( $ch );
$curl_error = trim( curl_error( $ch ) );
curl_close( $ch );

return $html;
}

$array_data = array();

$allowed_html_tags = array_map( "trim", explode( ',', 'img' ) );
$allowed_html_tags = "<" . implode( "><", $allowed_html_tags ) . ">";

$xml_source = get_content_nukeviet( 'http://nukeviet.vn/vi/news/rss/community/' );

if( $xml = simplexml_load_string( $xml_source ) )
{
$a = 0;
if( isset( $xml->channel ) )
{
foreach( $xml->channel->item as $item )
{
$array_data[$a]['title'] = strip_tags( $item->title );
$array_data[$a]['description'] = strip_tags( $item->description, $allowed_html_tags );
$array_data[$a]['link'] = strip_tags( $item->link );
$array_data[$a]['pubDate'] = nv_date( "l - d/m/Y H:i", strtotime( $item->pubDate ) );
++$a;
}
}
}

var_dump( $array_data );

Của thớt đây :)) :)) :))

Diễn đàn Nukeviet mới do Mình và Nhím thủ lĩnh thành lập các bạn ghé qua học tập trao đổi nhé https://forum.nuke.vn/
#167374 gửi bởi kotvnn
Ngày 20 Tháng 03 2015 , 05:12
ý mình là chỉ lấy 1 bài viết mới nhất trong 1 chuyên mục tin tức nào đó, bao gồm cả title, hometext và bodytext.
theo code của dangdinhtu get đc rss ngon :D , thế nhưng lại không lấy được bodytext :(
Mà sao lấy rss lại có thêm nhiều ký tự kiểu :
array(30) { [0]=> array(4) { ["title"]=> string(74)

Cái này mình vọc trong đoạn này mà ko bỏ được chỗ đó :(
Mã: Chọn hết
foreach( $xml->channel->item as $item )
{
$array_data[$a]['title'] = strip_tags( $item->title );
$array_data[$a]['description'] = strip_tags( $item->description, $allowed_html_tags );
$array_data[$a]['link'] = strip_tags( $item->link );
$array_data[$a]['pubDate'] = ( $item->pubDate );
++$a;
}

Cần hỗ trợ về giao diện NukeViet
Hoàng Tùng (Kot)
Email: kotvnn@msn.com
Phone: 0913 268 293 (imessage)
#167378 gửi bởi dangdinhtu
Ngày 20 Tháng 03 2015 , 06:30
cái định mệnh chắc đem code lên đây bảo mời bác xơi mất =)) =)) =))
cách hỏi có vẻ như chưa biết gì về php. có nói nữa cũng = 0. Nên học căn bản đi rồi hỏi đỡ ngại

Diễn đàn Nukeviet mới do Mình và Nhím thủ lĩnh thành lập các bạn ghé qua học tập trao đổi nhé https://forum.nuke.vn/
#167380 gửi bởi huongpro_love
Ngày 20 Tháng 03 2015 , 07:35
dangdinhtu đã viết:cái định mệnh chắc đem code lên đây bảo mời bác xơi mất =)) =)) =))
cách hỏi có vẻ như chưa biết gì về php. có nói nữa cũng = 0. Nên học căn bản đi rồi hỏi đỡ ngại

A ơi là a :)) :))