IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Includere Fisier Intr-un Div, Cum includ doar o parte dintr-un fisier intr-un div?
geo86
post 2010-02-06 23:21
Post #1


Wannabe
Reputation:

Group: Membri
Joined: 01-2008
Member No.: 2.782



Salutare,

Am un div 400*200px.
In el vreau sa includ un fisier.html via php care contine mult text dar tocmai din acesta cauza sunt nevoit sa afisez doar o parte din el (cum e pe prima pagina a ziarelor unde sunt multe articole: e titlu, o poza, o bucata de text si apoi un link ... [Citeste mai departe]).

Cum fac sa afisez doar inceputul acestui fisier in acel div (care ramane fix ca dimensiune) si sa am link catre pagina corespunzatoare?
Cum fac ca de fiecare data, in functie de continutul fisierului, div-ul sa fie umplut complet?

Spre exemplu, nu vreau ca php sa includa in div doar primele 50 de cuvine pentru ca daca am cuvinte scurte ramane spatiu gol in partea de jos iar daca am cuvinte lungi o sa iasa textul din div (in acest caz ar fi o solutie overflow:hidden dar asta nu rezolva primul caz).

Sper ca ati inteles ce vreau sa fac.

Merci,
george
Go to the top of the page
+Quote Post
ketamynx
post 2010-02-07 4:41
Post #2


• • • Inna KorR • • •
Reputation:

Group: Membri
Joined: 12-2006
From: Geosynchronous orbit
Member No.: 1.142



Salut, iti dau o solutie partiala, pentru ca functioneaza bine doar pentru portiuni de text scurte si fara HTML.
Urmeaza sa-ti faci din PHP calculul pentru cea mai scurta lungime de text (in functie de marimea si fontul folosit de tine), iar daca ai nevoie de continut altul decat plain-text va trebui sa adaugi (tot din PHP) separatoare de cuvant + tag-uri, pe care ulterior sa le folosesti in codul de mai jos la .split si .join in loc de spatiu.

CODE
<div id="text_container" style="overflow:auto; width:400px; height:200px;">
    <div id="actual_text"><?=strip_tags(file_get_contents('http://www.pez.at/')); ################### ?></div>
</div>

<script language="javascript" type="text/javascript">
<!--
    var tc = document.getElementById("text_container");
    var at = document.getElementById("actual_text");
    
    var at_array = new Array();
    var more = ' ...';
    
    if(at.offsetHeight>tc.offsetHeight)
    {
        at.innerHTML+=more;
        at_array = at.innerHTML.split(" ");
        startScanning();
    }


    function startScanning()
    {
        if(!tc||!at) return;
        at_array.pop();
        at_array.pop();
        
        at.innerHTML = at_array.join(' ') + more;
    
        if(at.offsetHeight>tc.offsetHeight)
            startScanning();
    }
    
// -->
</script>

Go to the top of the page
+Quote Post
geo86
post 2010-02-07 10:29
Post #3


Wannabe
Reputation:

Group: Membri
Joined: 01-2008
Member No.: 2.782



Apreciez solutia ta dar nu prea ma ajuta.
In primul rand nu stiu JS.
Al doilea rand, dupa cum spuneam, este vorba de un fisier HTML care contine tag-uri HTML (img, p, h etc).

Tot din php trebuie sa se poata face ceva gen functia substr(); insa nu prea stiu cum sa o aplic........

This post has been edited by geo86: 2010-02-07 10:41
Go to the top of the page
+Quote Post
geo86
post 2010-02-13 12:25
Post #4


Wannabe
Reputation:

Group: Membri
Joined: 01-2008
Member No.: 2.782



QUOTE (geo86 @ 2010-02-06 23:21) *
Salutare,

Am un div 400*200px.
In el vreau sa includ un fisier.html via php care contine mult text dar tocmai din acesta cauza sunt nevoit sa afisez doar o parte din el (cum e pe prima pagina a ziarelor unde sunt multe articole: e titlu, o poza, o bucata de text si apoi un link ... [Citeste mai departe]).

Cum fac sa afisez doar inceputul acestui fisier in acel div (care ramane fix ca dimensiune) si sa am link catre pagina corespunzatoare?
Cum fac ca de fiecare data, in functie de continutul fisierului, div-ul sa fie umplut complet?

Spre exemplu, nu vreau ca php sa includa in div doar primele 50 de cuvine pentru ca daca am cuvinte scurte ramane spatiu gol in partea de jos iar daca am cuvinte lungi o sa iasa textul din div (in acest caz ar fi o solutie overflow:hidden dar asta nu rezolva primul caz).

Sper ca ati inteles ce vreau sa fac.

Merci,
george

Am rezolvat.
Am gasit pe un site o functie personalizata care taie string-ul dupa un anumit numar de caractere si am setat height: auto la DIV.

Acum am alta problema.
String-ul meu este continutul unui fisier HTML. El este taiat dupa 500 de caractere.
Problema este ca am toate sansele ca de fiecare data taiaerea sa se faca intre tag-ul de deschidere si cel de inchidere (spe exemlu, daca am "<p>Aici string-ul se taie..." nu imi va mai fi inclus si tag-ul de inchidere </p>).

Aveti vreo idee cum pot sa repar ?
Go to the top of the page
+Quote Post
ionut
post 2010-03-03 1:23
Post #5


Junior Member
Reputation:

Group: Membri
Joined: 06-2006
From: bucuresti
Member No.: 156



div-ul tau in care pui continutul ar trebui sa se intinda pe inaltime in functie de continut.
Go to the top of the page
+Quote Post
radu.tanasescu
post 2010-03-28 10:04
Post #6


Wannabe
Reputation:

Group: Membri
Joined: 05-2008
Member No.: 3.309



In primul rand ar trebui ca PHP-ul tau sa genereze exact cat continut ai nevoie si nu sa trunchezi tu manual o parte din el. In al doilea rand, cum a spus si ionut, in momentul in care afisezi continut undeva acel container trebuie sa aiba capacitatea de a se lungi sau (desi nu e recomandat) macar un scoll bar.

Pentru situatia ta specifica exista CMS-uri care fac treaba asta, in Joomla de exemplu poti sa pui in administrare in continut o delimitare, tot ce e inaintea delimitarii apare pe prima pagina, tot ce e dupa apare cand apesi pe read more, mult mai civilizat.

In plus, continutul este cel mai important aspect al site-ului tau, nu il tai la intamplare la un anumit numar de caractere, il intrerupi intr-un punct in care are putin sens, sau chiar scrii un text de intro separat. Stiu ca asta ineamna ca site-ul tau va fi mai putin "automat" dar n-o sa gasesti nici un script care va fi in stare sa decida unde este bine sa opreasca un aticol astfel incat cei care il citesc sa fie tentati sa apese "read more".

This post has been edited by radu.tanasescu: 2010-03-28 10:06
Go to the top of the page
+Quote Post
geo86
post 2010-03-30 21:27
Post #7


Wannabe
Reputation:

Group: Membri
Joined: 01-2008
Member No.: 2.782



Am nota sugestiile voastre si o sa revin cu posturi in viitorul apropiat.
Momentan, din lipsa de timp, nu mai lucrez nimic.

This post has been edited by geo86: 2010-03-30 21:27
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 2010-09-09 8:00:20
Termeni si Conditii |