HTML tag lezárásának vizsgálata
Üdv!
Nos az lenne a problémám, hogy egy blogszerű oldalon a hosszú bejegyzéseket szeretném lerövidíteni és egy egyszerű "tovább" linkkel megjeleníteni a teljes bejegyzést...
nomármost ezt sikerült is úgy, ahogy megcsinálni... egyszerűen js-el módosítottam az adott html tag innerHTML-jét...
mivel a bejegyzések egy sql táblából töltődnek be és phpvel rövidítem le őket(simán ha 500 karakternél hosszabb, akkor csak az első 500-at írom ki és rögtön utána oda rakom a linket, h "... tovább-->"), ezért nem lehet tudni, hogy pontosan hol fogja levágni a bejegyzés végét.. konkrétan a probléma ott van, hogy a bejegyzések tartalmaznak html tageket és ha pont kettévág mondjuk egy táblázatot, akkor teljesen összekuszálódik az oldal..
az első gondolatom az volt, hogy vhogy detektálni kéne a lezáratlan tageket és egyszerűen lezárnám őket még mikor phpvel megcsinálom a lerövidítést.. és hát itt akadtam meg, mert nemakarom egyesével leellenőrizni, az összes taget, hogy benne van-e a bejegyzésben és ha benne van, vajon le van-e zárva az első 500 karakteren belül..
remélem tud valaki segíteni.. természetesen más megközelítést is szívesen látok...
a kódok:
js:
function kibont() {
document.getElementById('H1').innerHTML = 'a bejegyzés teljes tartalma' + '<a href=javascript:becsuk); > <--becsuk</a>';
}
function becsuk() {
document.getElementById('H1').innerHTML = 'a bejegyzés rövidítettje' + '<a href=javascript:kibont(); > tovább--></a>';
}
Html:
<font face="Comic Sans MS" style="font-size: 11pt" id="H1">
"a bejegyzés rövid tartalma"
<a href='javascript:kibont();'> tovább--></a>
</font>
php:
if(strlen($teljesbejegyzes)>500) {
$roviditettbejegyzes = substr($teljesbejegyzes,0,500) . "...";
} else
$roviditettbejegyzes = $teljesbejegyzes;
■ Nos az lenne a problémám, hogy egy blogszerű oldalon a hosszú bejegyzéseket szeretném lerövidíteni és egy egyszerű "tovább" linkkel megjeleníteni a teljes bejegyzést...
nomármost ezt sikerült is úgy, ahogy megcsinálni... egyszerűen js-el módosítottam az adott html tag innerHTML-jét...
mivel a bejegyzések egy sql táblából töltődnek be és phpvel rövidítem le őket(simán ha 500 karakternél hosszabb, akkor csak az első 500-at írom ki és rögtön utána oda rakom a linket, h "... tovább-->"), ezért nem lehet tudni, hogy pontosan hol fogja levágni a bejegyzés végét.. konkrétan a probléma ott van, hogy a bejegyzések tartalmaznak html tageket és ha pont kettévág mondjuk egy táblázatot, akkor teljesen összekuszálódik az oldal..
az első gondolatom az volt, hogy vhogy detektálni kéne a lezáratlan tageket és egyszerűen lezárnám őket még mikor phpvel megcsinálom a lerövidítést.. és hát itt akadtam meg, mert nemakarom egyesével leellenőrizni, az összes taget, hogy benne van-e a bejegyzésben és ha benne van, vajon le van-e zárva az első 500 karakteren belül..
remélem tud valaki segíteni.. természetesen más megközelítést is szívesen látok...
a kódok:
js:
function kibont() {
document.getElementById('H1').innerHTML = 'a bejegyzés teljes tartalma' + '<a href=javascript:becsuk); > <--becsuk</a>';
}
function becsuk() {
document.getElementById('H1').innerHTML = 'a bejegyzés rövidítettje' + '<a href=javascript:kibont(); > tovább--></a>';
}
Html:
<font face="Comic Sans MS" style="font-size: 11pt" id="H1">
"a bejegyzés rövid tartalma"
<a href='javascript:kibont();'> tovább--></a>
</font>
php:
if(strlen($teljesbejegyzes)>500) {
$roviditettbejegyzes = substr($teljesbejegyzes,0,500) . "...";
} else
$roviditettbejegyzes = $teljesbejegyzes;
Okosan
Ha csak JavaScript oldalon akarod eltörni, arra pedig írtam egy kisebb jQuery plugint, valamint az egyik budapest.js keretein belül tartottam belőle egy előadást.
Szerver oldalon