| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Luzhnikovskiy 06.01.2004 15:00 / 06.01.2004 15:05
Пусть в $text нужный текст, а в $pNum - номер искомого параграфа.# счетчик в ноль
$pCntr(0)
# готовим текст:
# выкидываем <br>, <br/>, <br />
$tmp[^text.match[<br[^^>]*>][gi]{^#0A}]
# выкидываем <p></p>
$tmp[^tmp.match[<p[^^>]*>(.*?)</p>][gi]{^#0A$match.1^#0A}]
# понеслась...
^try{
# с модификатором m берем каждую непустую строку и считаем
# (а зачем нам пустые строки? это явно не параграфы)
# как насчитали нужное - сохраняем и отваливаем
$tmp[^tmp.match[^^(.+)^$][gmi]{^pCntr.inc(1)^if($pCntr == $pNum){$found[$match.1]^throw[pFound;found]}}]
}{
# не забываем, что отвалили по exception
$exception.handled(1)
}
# как и просили, параграф номер $pNum в переменной $found
Para No. $pNum is:
<p bgcolor="#eeeeee">
$found
</p>