Импортировать содержимое div из статического HTML-файла, используя PHP или jQuery или Ajax? - PullRequest
4 голосов
/ 28 декабря 2010

Здравствуйте, друзья, вопрос новичка ...

Проблема такая:

У меня есть статический файл HTML , и я хочу импортировать только часть этого файла на другую страницу. Как я могу это сделать.

Пример кода:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Some title here</title>

<link rel="stylesheet" type="text/css" href="styles.css" />

</head>

<body>

<div id="box-1">
    <div class="block">

    <!-- Some code here -->

    </div>
</div>

<div id="box-2">
    <div class="block">

    <!-- Some code here -->

    </div>
</div>


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="script.js"></script>
</body>
</html>

Теперь я хочу прочитать этот HTML-файл и импортировать только этот бит:

<div id="box-1">
    <div class="block">

    <!-- Some code here -->

    </div>
</div>

Есть ли способ сделать это?

Пожалуйста, помогите.

Даже PHP, jQuery, Ajax или любое другое решение также подойдет. Пожалуйста, помогите мне.

Ответы [ 2 ]

9 голосов
/ 28 декабря 2010

Вы можете использовать jQuery load () , чтобы указать только определенный контейнер для загрузки:

$('#targetdiv').load('static.html #box-1');
4 голосов
/ 28 декабря 2010

Вот решение, которое отличается от других: оно выполняет однократный импорт раздела содержимого из большого количества статических html-файлов / страниц (на случай, если вы этого хотели) ,Я успешно использовал его для импорта около 700 страниц из прямой HTML в базу данных CMS.

// get the pages you want to import
$pages = array('page1.html', 
    'page2.html',
    'page3.html'
);

foreach($pages as $p) {
    $url = 'http://yourDomain.com/' . $p;

    // load the webpage
$file = file_get_contents($url);

if($file) {

    list($before,$content) = explode('<body>',$file); // chop off beginning
    unset($before);
    list($content) = explode('<div id="box-2">',$content); // chop off end;

            $resultArray[] = trim($content);

            // or do it this way to keep the filename associated with the content
            // $resultArray[$p] = $content;

}//if file

} //endforeach;

// $resultArray holds your stripped content
// do something with $resultArray;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...