Как вставить теги ссылок между тегами заголовков в HTML с помощью SimpleHtmlDom - PullRequest
3 голосов
/ 21 января 2011

Я пытаюсь манипулировать HTML-кодами с помощью simplehtmldom.sourceforge.net .Это у меня так далеко.Я мог бы создать новый файл или превратить index.html в index.php и скопировать тег head из index.html.Проблема в том, как я могу вставить теги ссылки:

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

между тегами заголовка?

<?php
# create and load the HTML
include('simple_html_dom.php');
// get DOM from URL or file
$html = file_get_html('D:\xampp\htdocs\solofile\index.html');
$indexFile ='index.php';
$openIndexFile = fopen($indexFile,'a');
//find head tag
foreach($html->find('head') as $e)
{
 $findHead = $e->outertext;
 fwrite($openIndexFile, "\n" .$findHead. "\n");
}

1 Ответ

7 голосов
/ 21 января 2011

Из документации (Раздел: Как получить доступ к атрибутам элемента HTML? / Советы):

// Append a element
$e->outertext = $e->outertext . '<div>foo<div>';

Который вы можете использовать так:

$e = $html->find('head')->innertext; // Should take all HTML inside <head></head> w/o <head></head
$e = $e.'<link href="style.css" rel="stylesheet" type="text/css" />'; // inserting the CSS at the end of what's inside <head></head>

Я не пробовал, но, возможно, (в зависимости от класса) вам может понадобиться сделать первую строку в 2.

$f = $html->find('head');
$e = $f->innertext;

Но вы поняли идею, верно? ;)

...