/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Første 500 tegn fra database - Hvad med ik~
Fra : Henning Birch


Dato : 22-05-02 12:08

Hej

Jeg er ved at lave et udtræk fra en længere tekst fra database (MySQL) og
vil kun have skrevet et resume ud fra hver artikel (første 500 tegn).

Det har jeg ingen problemmer med.

Men hvis nu det er tags i min databasen hvad så? Eksempel

...... dette er et areal p&aring; 5000 m <sup>2</sup>

hvis så jeg skærer efter 2 tallet men før </sup> tag'en slutter bliver
resten af teksten også i <sup>.

Er der nogen de har en generel løsning på det problem eller skal der laves
en særløsnig (læs parsing af strengen så den ikke bliver skåret efter 500
tegn, men efter alle tags er afsluttet)?


--
Henning

 
 
Jonas Koch Bentzen (22-05-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 22-05-02 12:48

Henning Birch skrev:
>
> Jeg er ved at lave et udtræk fra en længere tekst fra database (MySQL)
> og vil kun have skrevet et resume ud fra hver artikel (første 500
> tegn).
>
> Det har jeg ingen problemmer med.
>
> Men hvis nu det er tags i min databasen hvad så? Eksempel
>
> ..... dette er et areal p&aring; 5000 m <sup>2</sup>
>
> hvis så jeg skærer efter 2 tallet men før </sup> tag'en slutter bliver
> resten af teksten også i <sup>.
>
> Er der nogen de har en generel løsning på det problem eller skal der
> laves en særløsnig (læs parsing af strengen så den ikke bliver skåret
> efter 500 tegn, men efter alle tags er afsluttet)?

Brug strrpos() til at finde det sidst forekommende mindre-end-tegn og
det sidst forekommende større-end-tegn i den tekst, du har skåret i.
Hvis det sidst forekommende mindre-end-tegn ligger længere fremme i
teksten end det sidste forekommende større-end-tegn, så er det et tegn
på, at du har skåret midt inde i en HTML-kode, og så må du skære endnu
længere tilbage til det sidst forekommende mindre-end-tegn.

Du kan selvfølgelig også bare bruge strip_tags() på teksten og dernæst
skære i den.

--
Jonas Koch Bentzen

Henning Birch (23-05-2002)
Kommentar
Fra : Henning Birch


Dato : 23-05-02 09:21

Jonas Koch Bentzen <ingen.emailadresse@eksempel.dk> skrev i
news:acg0h0$slb$1@sunsite.dk:

> Brug strrpos() til at finde det sidst forekommende mindre-end-tegn og
> det sidst forekommende større-end-tegn i den tekst, du har skåret i.
> Hvis det sidst forekommende mindre-end-tegn ligger længere fremme i
> teksten end det sidste forekommende større-end-tegn, så er det et tegn
> på, at du har skåret midt inde i en HTML-kode, og så må du skære endnu
> længere tilbage til det sidst forekommende mindre-end-tegn.

Hmmm, ville det ikke være nemmere at søge på </ med strpos for at sikre at
det er en tag-slut kode. Hvis jeg vælger den løsning bliver det at parse
teksten totalt.
Dit forslag afslutter ikke begyndte koder. Jeg bruger f.eks. <b>, hvis den
ikke bliver af sluttet af med </b> kommer resten af siden til at se
forfærdelig ud.

> Du kan selvfølgelig også bare bruge strip_tags() på teksten og dernæst
> skære i den.

Se det var nok en nemmere løsning. Den tror jeg at jeg starter ud med.
Så kigger jeg lidt mere på parsingen senere.

--
Henning


Søg
Reklame
Statistik
Spørgsmål : 177520
Tips : 31968
Nyheder : 719565
Indlæg : 6408661
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste