Witam. Proszę o nakierowanie jak skonwertować do PHP ten HTML I XML. Kompletnie nie ogarniam jak połączyć HTML i XML za pomocą PHP używając parsowania i ładowania DOM, by po wpisaniu hasła w wyszukiwarce HTML przeszukiwało plik XML i wyświetliło dany artykuł.
html do wyszukiwania:
<!DOCTYPE html>
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-2"> <body><h2 style="text-align: center; ">Encyklopedia
</h2> <form method="post" action="xxphp.php">
<input type="text" name="artykuł" />
<input type="reset" value="Wyczyść" /> <input type="submit" value="Szukaj" />
plik xml:
<?xml version="1.0" encoding="iso-8859-2"?>
<!DOCTYPE encyklopedia SYSTEM "C:\Users\Matt\Desktop\encyklopedia.dtd">
<?xml-stylesheet href="css01.css" type="text/css"?>
<encyklopedia>
<artykul>
<tytul>astronomia</tytul>
<tresc>nauka przyrodnicza, której przedmiotem badań są ciała niebieskie, ich rozkład i ruchy w przestrzeni, pochodzenie, budowa oraz ewolucja,a także Wszechświat jako calość</tresc>
<odnośnik></odnośnik>
</artykul>
<artykul>
<tytul>grafika komputerowa</tytul>
<tresc>dział informatyki zajmujacy się tworzeniem obrazów obiektów rzeczywistych i wyimagowanych</tresc>
<odnośnik></odnośnik>
</artykul>
</encyklopedia>
taki skrypt w PHP próbowałem stworzyć wzorując sie na innym przykładzie ale słabo wyszło:
<?php
header('Content-Type: text/html; charset = iso-8859-2');
$tytul = (isset($_POST['tytul']))?
$_POST['tytul']:''; $tresc = (isset($_POST['tresc']))?
$_POST['tresc']:'';
$wpisano=0;
$pokazanowynikow=0;
if($tytul!="") $wpisano++;
if($tresc!="") $wpisano+=2;
$tytul = mb_convert_case($tytul, MB_CASE_TITLE, "iso-8859-2");
$tresc = mb_convert_case($tresc, MB_CASE_TITLE, "iso-8859-2");
$folder = glob('encyklopedia.xml'); foreach($folder as $file){
$xml = simplexml_load_string($plik);
$ilewierszy = count($xml); for($id=0;$id<$ilewierszy;$id++){
$pokaz = 0;
if((string)$xml->tresc[$id]->tytul == $tytul) $pokaz++;
if((string)$xml->artykul[$id]->tresc == $tresc) $pokaz+=2;
if($pokaz==$wpisano) {
echo "tytul: ".$xml->artykul[$id]->tytul.'<br>'; echo "tresc: ".$xml->artykul[$id]->tresc.'<br>';
$pokazanowynikow++;
}
}
}
if($pokazanowynikow==0
) echo "Nie znaleziono szukanego hasła"; ?>
Ten post edytował matt77 5.05.2018, 08:04:33