
PHP - úryvek z textu
Mam nactenej text s html tagama z databaze a potreboval bych z nej vytahnout kratkej uryvek - prvni "odstavec" (neni ohranicenej <p></p>, ale jenom <br>) s min. delkou 10 slov.
Jenom souvisly text bez obrazku.
text muze vypadat takhle:
<br><img src="" title="" alt="">
<br>
<br>
<br><strong>Lorem Ipsum</strong> is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
<br>
<br>Aldus PageMaker including versions of Lorem Ipsum.
<br>
nebo takhle:
<br>Aldus PageMaker including versions of Lorem Ipsum.
<br><strong>Lorem Ipsum</strong> is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
<br>
<br>
a z obojich prikladu bych potreboval vytahnout jenom tohle
<strong>Lorem Ipsum</strong> is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s
Obávám se, že to co vyžaduješ není možné systematizovat.
Počítač jednoduše nechápe souvislosti psaného textu.
Co možné systematizovat je:
- Přesný počet prvních slov (např. 30)
- Pravidelně strukturovaný text (např. obsah konkrétního tagu či řádku).
Hmm, to jsem bohuzel ocekaval :(
Je aspon nejakej zpusob jak projit text ulozenej v stringu po radkach? (jinak nez pomoci explode($text, "\r\n"))
A mohu se zeptat z jakého důvodu jinak než pomocí explode celého textu na jednotlivé řádky?
Šlo by to i např. pomocí fce substring, které by jsi nějak rekurzivně předával pozice výskytů "\r\n".
Což by za určitých okolností mohlo i snížit paměťovou náročnost operace, ale víc ti jako neprogramátor pochopitelně nepovím.
// Edit
Teď mě to došlo!
Algoritmy založené částečně na pravděpodobnosti, které někteří pánové velice rádi nazývají umělá inteligence nebo podobně.
Takto bys mohl nějak "vytáhnou" první řádky a znich určit ten, který je nejdelší a zároveň obsahuje tag <strong>.
Jenomže takový kód by asi nebyl nikdy absolutně spolehlivý, čehož se programátoři v klasickém slova-smyslu přímo děsí.
Reaguji asi pozdě, ale třeba to bude číst někdo později.
Určitě budou aspoň částečně funkční regulární výrazy. Částečně proto, že přesně nechápu, co z těch původních textů vyhazuješ a co tam necháváš.
V PHP jsou k tomu funkce, jejichž název začíná EReg.