위키 백과 API를 사용하여 주제에 관한 정보를 가져오고 표시합니다.Wikipedia API를 사용하여 주제 배열의 컨텐츠를 당겨서 표시하십시오.
나는 하나의 주제에 대한 좋은 작품이 코드 :
는&page=Dementia
코드는 위의를 위해 잘 작동 : 위의 코드에서
$(document).ready(function(){
$.ajax({
type: "GET",
url: "http://en.wikipedia.org/w/api.php?action=parse&format=json&prop=text§ion=0&page=Dementia&callback=?",
contentType: "application/json; charset=utf-8",
async: false,
dataType: "json",
success: function (data, textStatus, jqXHR) {
var markup = data.parse.text["*"];
var i = $('<div></div>').html(markup);
// remove links as they will not work
i.find('a').each(function() { $(this).replaceWith($(this).html()); });
// remove any references
i.find('sup').remove();
// remove cite error
i.find('.mw-ext-cite-error').remove();
$('#article').html($(i).find('p'));
},
error: function (errorMessage) {
}
});
});
<div id="article"></div>
는 주제로 표시 "치매"입니다 단일 주제,하지만 지금은 주제의 배열을 통해 루프를 수정하고 배열에서 각 항목의 "wikipedia_page_url"값을 사용하여 어떤 페이지를 가져올 것인지 결정한 다음 각 항목에 대한 내용을 출력합니다 페이지 :
<?php foreach ($resident_conditions as $resident_condition) { ?>
<?php
$condition_id = $resident_condition['condition_id'];
$condition = sw::shared()->conditions->getForID($condition_id);
$wikipedia_page_url = $condition['wikipedia_page_url'];
?>
<h6><?php echo $condition['condition_name']; ?></h6>
<div id="<?php echo $condition['condition_name']; ?>">
<!-- This is where I want to place the content pulled from Wikipedia for each topic -->
</div>
<?php } ?>
각 주제의 "wikipedia_page_url"값은 아래의 코드에서 보여 위키 백과에서 뽑아하는 페이지를 결정
어떻게 풀을 작업하고 각 주제에 대한 내용을 표시하려면 위의 JS 스크립트를 수정할 수 있습니다?
url: "http://en.wikipedia.org/w/api.php?action=parse&format=json&prop=text§ion=0&page=<?php echo $condition['wikipedia_page_url']; ?>&callback=?",
그러나 나는 여기에서 그것을 가지고 위치를 잘 모릅니다 : 나는이 같은 스크립트 내부의 각 "wikipedia_page_url"의 값을 대체해야 알고있다. 어떤 제안?
$(document).ready(function(){
$.ajax({
type: "GET",
url: "http://en.wikipedia.org/w/api.php?action=parse&format=json&prop=text§ion=0&page=Tourette_syndrome&callback=?",
contentType: "application/json; charset=utf-8",
async: false,
dataType: "json",
success: function (data, textStatus, jqXHR) {
var markup = data.parse.text["*"];
var i = $('<div></div>').html(markup);
// remove links as they will not work
i.find('a').each(function() { $(this).replaceWith($(this).html()); });
// remove any references
i.find('sup').remove();
// remove cite error
i.find('.mw-ext-cite-error').remove();
$('#article').html($(i).find('p'));
},
error: function (errorMessage) {
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="article"></div>