2016-12-18 11 views
0

Я создаю этот файл PHP. Но это прочитало только одну ссылку. Как добавить два других? Окно выбора чтения на странице только одну ссылку ... http://www.kurir.rs/rss/vesti/ "
http://www.blic.rs/rss/ITRSS php reader с полем выбора (опция)

<form action="index.php" method="POST"> 
    <select name="rss"> 
     <option value="http://www.kurir.rs/rss/vesti/">Kurir</option> 
     <option value="http://www.blic.rs/rss/IT">Blic</option> 
     <option value="http://www.b92.net/info/rss/tehnopolis.xml">B92</option> 
    </select> 
    <input type="submit" value="Select" /> 
</form> 

<?php 
$rss = new DOMDocument(); 
$rss->load('http://www.b92.net/info/rss/tehnopolis.xml'); 

$feed = array(); 
foreach ($rss->getElementsByTagName('item') as $node) { 
    $item = array ( 
     'title' => $node->getElementsByTagName('title')->item(0)->nodeValue, 
     'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue, 
     'link' => $node->getElementsByTagName('link')->item(0)->nodeValue, 
     'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue, 
     ); 
    array_push($feed, $item); 
} 
$limit = 5; 
for($x=0;$x<$limit;$x++) { 
    $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']); 
    $link = $feed[$x]['link']; 
    $description = $feed[$x]['desc']; 
    $date = date('l F d, Y', strtotime($feed[$x]['date'])); 
    echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />'; 
    echo '<small><em>Posted on '.$date.'</em></small></p>'; 
    echo '<p>'.$description.'</p>'; 
} 

?>

+0

У меня есть только это. –

+0

Я не вижу здесь PHP. Что мне не хватает? – WillardSolutions

+0

У меня нет php. Мне нужно сделать это задание на завтра, но не знаю, как это сделать. Знаете ли вы, что на каком-то сайте, где я могу увидеть пример этого, или вы можете помочь мне сделать php-файл? –

ответ

1

Простой ответ, вы должны использовать то, что опубликовано от вашей формы, чтобы загрузить страницу Так. что-то вроде этого:

$rss_url = isset($_REQUEST['rss']) ? $_REQUEST['rss'] : 'http://www.b92.net/info/rss/tehnopolis.xml'; 
$rss = new DOMDocument(); 
$rss->load($rss_url); 

Я даже бросил некоторые проверки там, чтобы проверить, если $_REQUEST['rss'] установлен

.

Это лучший способ сделать это? нет. Вам нужно будет еще раз подтвердить свой вклад, чтобы люди могли опубликовать что-то неожиданное. Также использование POST может быть ненужным для этого. GET может работать нормально. Но для этого упражнения он будет работать.

Кроме того, если вы хотите опцию поле, чтобы показать выбранный URL:

<form action="index.php" method="POST"> 
    <select name="rss"> 


<?php 
$selection = array (
    'Kurir' => 'http://www.kurir.rs/rss/vesti/', 
    'Blic' => 'http://www.blic.rs/rss/IT', 
    'B92' => 'http://www.b92.net/info/rss/tehnopolis.xml'); 

foreach ($selection as $title => $url) { 
    if(! empty($_REQUEST) and isset($_REQUEST['rss']) and $_REQUEST['rss'] == $url){ 
     $selected = 'selected';  
    } else { 
     $selected = ''; 
    } 
    print'<option value="'.$url.'" '.$selected.'>'.$title.'</option>'; 
    print "\n"; 
} 


?> 

    </select> 
    <input type="submit" value="Select" /> 
</form> 

<?php 
$rss_url = isset($_REQUEST['rss']) ? $_REQUEST['rss'] : 'http://www.b92.net/info/rss/tehnopolis.xml'; 
print $rss_url; 
+0

Вот и все. Спасибо! Работает отлично, за исключением коробки. При загрузке поле отображается только первый заголовок. Это только для упражнений, все еще изучая ... –

+0

Я обновил решение, включив в него поле, выбранное при изменении. Это не самое элегантное решение. Но это будет сделано. – paxamus

+1

Также, пожалуйста, отметьте этот ответ как решение. Мне нравятся эти сладкие точки переполнения стека. – paxamus