[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Строковые функции
l@pteff
Здравствуйте, имеется длинная статья, из которой нужно "вырезать" только заголовки, чтобы вывести их на другой странице сайта.

page1.htm


<h4> Zagolovok1 </h4>
<p>
text1 </p>

<h4>
Zagolovok2 </h4>
<p>
text2 </p>

<h4>
Zagolovok3 </h4>
<p>
text3 </p>


Делаю таким образом:


$str='../page1.htm';
$f = join('<br>', file($str));
$begin=stripos($f, '<h4>');
$end=stripos($f, '</h4>', $begin);
$txt=substr($f, $begin, $end-$begin);
$txt=strip_tags($txt, '<h4>');
echo $txt;


Почему-то выводится только первый заголовок <h4> ну и до него всякий там хлам со страницы, к статье не относящийся (сплошным текстом...). Подскажите пожал. где ошибки в функциях?



Спустя 21 минута, 51 секунда (18.02.2011 - 00:40) Invis1ble написал(а):
Юзай лучше регулярку:
preg_math_all('#<h4>(.*?)</h4>#sui', $content, $matches);

var_dump($matches);

Спустя 9 дней, 10 часов, 58 минут, 12 секунд (27.02.2011 - 11:38) l@pteff написал(а):
С помощью регулярки вытащил заголовки таким образом:

$str=file_get_contents('../page1.htm');
preg_match_all('#<h4>(.*)</h4>#siU', $str, $tittles);
foreach ($tittles as $index=>$val)
echo '$val <br>';


но вместо заголовков выводится:
Цитата

$val
$val


подскажите как здесь вытащить текст из переменных?


Спустя 7 минут, 45 секунд (27.02.2011 - 11:46) Invis1ble написал(а):
l@pteff
Цитата
подскажите как здесь вытащить текст из переменных?

поместить
Цитата
$val <br>

в двойные кавычки =)

Спустя 29 минут, 30 секунд (27.02.2011 - 12:16) l@pteff написал(а):
вместо $val теперь Array:
Цитата

Array
Array

Спустя 4 минуты, 34 секунды (27.02.2011 - 12:20) Invis1ble написал(а):
l@pteff
Цитата
вместо $val теперь Array:

правильно, потому что там массивы. Я ведь не случайно привел тебе var_dump() в первом коде - чтобы ты увидел структуру массива.

Спустя 12 минут, 28 секунд (27.02.2011 - 12:33) l@pteff написал(а):
Invis1ble, напиши пожал. как подправить чтоб выводились только заголовки, много вариантов перебрал, но всё немного не то... dry.gif

Спустя 2 минуты, 36 секунд (27.02.2011 - 12:35) Invis1ble написал(а):
l@pteff
убери цикл из кода, поставь вместо него var_dump() и выложи сюда, что выдаст

Спустя 5 минут, 48 секунд (27.02.2011 - 12:41) l@pteff написал(а):
array(2) { [0]=> array(2) { [0]=> string(82) "
Заголовок1"
[1]=> string(49) "
Заголовок2
" } [1]=> array(2) { [0]=> string(73) "Заголовок1" [1]=> string(40) "Заголовок2" } }

Спустя 4 минуты, 30 секунд (27.02.2011 - 12:46) Invis1ble написал(а):
l@pteff
$str=file_get_contents('../page1.htm');
preg_match_all('#<h4>(.*)</h4>#siU', $str, $titles);
foreach ($titles[1] as $title)
echo $title . '<br />';

Спустя 4 минуты, 54 секунды (27.02.2011 - 12:51) l@pteff написал(а):
Класс, то что надо! огромное спасибо за помощь
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.