Hogyan lehet egy html-be másik html részletet beilleszteni?
Szerver oldali programozás szükséges hozzá (PHP). Abban viszont pofon egyszerű.
Itt a fő szöveg…
<?php readfile("lablec.html"); ?>
Esetleg még frame-ekkel lehet manipulálni.
Natív HTML-ben pl. iframe-ekkel.
De ja, PHP egyszerűbb, manapság úgysem használnak szinte sehol se statikus oldalt már.
nekem statikus kell, PHP nem jó
nem kell feltétlenül html-t beilleszteni, lehet sima txt is, csak egy bekezdésnyi szövegről lenne szó
Nos. Ugye hol történik a beillesztés?
Történhet szerver oldalon. Ehhez PHP kell.
Vagy történhet kliens oldalon is. Ehhez meg IFrame kell.
<iframe src="http://www.oldaladneve.hu/…/lablec.html" />
Persze a lablec.html-nek valid HTML-nek kell lennie. (Formázásokkal, fejléccel, css-el, mindennel.)
Ezzel a legfőbb gond, hogy az iframe méretét be kell lőni. Ha változik a tartalom, akkor mind a 100 oldalon el kell végezni ugye a változást.
Persze rá lehet bízni az egészet javascriptre is, ami a betöltődés után a megfelelő méretűre igazítja a tartalmat.
Szóba jöhet még ajax lekérés is.
Ezeknek mind az a hátrányuk, hogy kikapcsolt javascripttel nem adnak megfelelő eredményt.
Tehát kliens oldali beillesztésre nincs 100%-ig jó megoldás.
A kérdés, hogy mit a célod a beillesztéssel? A html kód lerövidítése és/vagy a letöltési idő csökkentése? Mert erre ez nem igazán alkalmas. A cél az, hogy az utolsó bekezdésen történő változást egy helyen kelljen eszközölni? Ennek már van értelme, csak nem biztos, hogy kliens oldalon jól meg lehet ezt oldani.
Az is kérdés, hogy miért nem jó a szerver oldali megoldás. Nem értesz hozzá? Vagy nincs ilyen szolgáltatás? Vagy lokális, offline megoldás kell?
> Statikus weboldalról van szó, sok minden miatt.
A kérdés, hogy mi az a sok minden. Mik az érvek, okok?
> Nem szeretem azokat a tanácsokat, hogy csináld PHP-ban, mert nem az a problémám.
Szereted, nem szereted, de ez a megoldás. Nem ez a problémád, hanem ez a megoldás, amit használnod kellene.
> Nem váltogathatok különféle nyelvek között csak azért, mert ma felmerül egy probléma, amihez PHP kéne.
Ez olyan, mintha azt mondanád, hogy nem válogathatsz különböző szerszámok között, ha felmerül egy olyan szerelés, amihez kalapács kellene. (És közben próbálnád szerencsétlen forrasztópákával beverni a százas szöget.)
A megoldás végtelenül egyszerű, csak te látod bonyolultnak. Ehhez a következőt kell tudni:
A PHP egy szerver oldali nyelv. Bármilyen tartalmat képes előállítani, de természetesen leginkább HTML-t szoktak vele készíteni.
Nem kell értened hozzá, nem kell beleásnod magad. Kb. öt perc lesz megérteni, hogy mit is kell tenned, és hogyan működik az egész:
Amit tenned kell az az, hogy a meglévő HTML oldalakat át kell nevezni PHP-ra. (index.html helyett index.php legyen a neve.) Ezek a szerveren ugyanúgy működni fognak. A különbség annyi, hogy átmennek a PHP értelmezőn is, mielőtt a szerver elküldi a honlap látogatóhoz (klienshez). A PHP értelmező a sima HTML tartalmú oldalakat nem módosítja. Ő kizárólag a <? és ?> közötti részt fogja értelmezni. (Illetve a nyitó lehet <?php formátumú is.)
A beszúrandó részt érdemes elmenteni egy külön fájlba. Pl. legyen a neve kozos.inc vagy kozos.html vagy amit akarsz. Ez ugyanúgy HTML tartalom, tehát használhatsz benne HTML formázásokat, tag-eket.
Ahova be akarod illeszteni ezt a tartalmat, oda meg odaírod a php fájlba, hogy:
<? readfile('kozos.inc'); ?>
A PHP csak ezt az egy sort fogja értelmezni, és nem csinál mást, mint szépen beolvassa a kozos.inc fájl tartalmát, és kiírja a kimenetre. (A <? ……… ?> helyére.)
Példa jön.
===== algopirin.php fájl tartalma =====
<html><head>…</head><body>
Az Algopirin nem finom.<br />
De nem is ezért esszük<br />
<? readfile('kockazatok.inc'); ?>
stb…
</body></html>
===== kockazatok.inc fájl tartalma =====
<b>A kockázatok és mellékhatások tekintetében kérdezze meg kezelőorvosát, gyógyszerészét</b>
==================
Ha valaki az algopirin.php oldalt fogja lekérni, akkor a szerver már a feldolgozott, php értelmezőn átment tartalmat fogja kapni. Azaz ezt:
<html><head>…</head><body>
Az Algopirin nem finom.<br />
De nem is ezért esszük<br />
<b>A kockázatok és mellékhatások tekintetében kérdezze meg kezelőorvosát, gyógyszerészét</b>
stb…
</body></html>
Szerintem nem bonyolult. A PHP ilyen szintű használata nem egy vasziszdasz.
Persze vannak esetek, mikor a PHP sem jó megoldás. Pl. akkor, ha a szerver kizárólag statikus tartalmat képes kiszolgálni. Ez ma már ritka, mint a fehér holló.
Akkor sem jó, ha az egészet mondjuk lokálisan akarod valahol prezentálni, ahol nincs internetkapcsolat. Persze ez is megoldható amúgy egy WAMP-al mondjuk, de ez már tényleg nem 5 perc, hanem 15.
De ha nincs ilyen indok, akkor használd. Az nem indok, hogy nem ismered, félsz tőle, nem tudod hogyan működik, ezért elzárkózol tőle, ahelyett, hogy megismernéd.
Keresőoptimalizálás szempontból a legjobb a PHP és azon belül az include beolvasó
az index.php file-od így nézzen ki :
<html>
<head>
<title>
<?php
$ablakcim = $_GET["ablakcim"];
if(!isset($_GET["ablakcim"])) $ablakcim = "fooldal";
print $_GET["ablakcim"];
$ablakut = "oldalak/".$ablakcim.".php";
?>
</title>
</head>
<body>
<?php
include ("fejlec.php");
include ("menu.php");
include ($ablakut);
include ("reklamsav.php");
include ("lablec.php");
?>
</body>
</html>
a menu.php-ba meg valami ilyesmi módon lennének a linkek:
<br>
<a href="index.php?ablakcim=fooldal"
target="_top">Főoldal</a>
<a href="index.php?ablakcim=oldal_01"
target="_top">oldal 01</a>
<a href="index.php?ablakcim=oldal_02"
target="_top">oldal 02</a>
<a href="index.php?ablakcim=oldal_03"
target="_top">oldal 03</a>
<br>
az alodalaknak meg egy sima mappát csinálsz amibe így vannak a file-ok :
oldalak/fooldal.php
oldalak/oldal_01.php
oldalak/oldal_02.php
oldalak/oldal_03.php
az ismétlődő elemek pedig minden oldalon ugyan azok, és külön file-okban vannak:
fejlec.php
menu.php
reklamsav.php
lablec.php
nem olyan bonyolult csak utána kell olvasni ... keress rá a PHP 24 óra alatt című olvasmányra neten.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!