Вырезание текста из определённых тегов.

hardest

Новичок
Вырезание текста из определённых тегов.

Здравствуйте!
Подскажите пожалуйста вот например имеются html хедеры (постоянный текст):
PHP:
<title>Текст 1</title>
<meta name="Description" Content="Текст 2">
<meta name="Keywords" CONTENT="Текст 3">
Как вырезать из определенных тегов чистый текст. Вырезать title (ТЕКСТ) можно с помощью strip_tags, но остальное он всё режет. Но я его можно считать вырезал c помощью strip_tags и загнал в переменную, остаётся только вырезать Текст 2 и Текст 3.
А как бы вырезать сначала Текст 2 и загнать его в переменную, а затем Текст 3 и загнать его уже в другую переменную, т.е. получить только определённый чистый текст (удалив например это
PHP:
<meta name="Keywords" CONTENT="">
.
Вообще возможно ли это. Догадываюсь, что это реализуется с помощью регулярных выражений. Заранее огромнейшее спасибо за ответы.
 

avm

Новичок
PHP:
<?php
    $header='
    <title>Текст 1</title>
    <meta name="Description" Content="Текст 2">
    <meta CONTENT="Текст 3" name="Keywords">
    ';

    if (preg_match_all("/<meta[\s]+(content=[\"']*(.*?)[\"']+[\s]+(.+?)=[\"']*(.+?)[\"']*|(.+?)=[\"']*(.+?)[\"']*[\s]+content=[\"']*(.*?)[\"']*)[\/\s]*>/is",$header,$row,PREG_SET_ORDER)) {
        foreach($row as $field) {
            if (isset($field[5])) { $key=5; $val=6; $content=7; } else { $key=3; $val=4; $content=2; }
            $META[ strtolower($field[$key]) ][ strtolower($field[$val]) ] = $field[$content];
        }
    }
    print_r($META);
?>
 

avm

Новичок
А что, что-то не нравится?

Это часть одного моего решения.
 

Гравицапа

elbirret elcno
avm
Судя по теме, автор не шибко разбирается в регулярках, поэтому было бы , наверно, лучше, если бы он сначала освоил этот механизм. Толку для него от твоего решения, кроме как копи/паст никакого не будет, имхо.
 

hermit_refined

Отшельник
avm
Как бы так помягче сказать... От одной мысли, что мне как-нибудь придётся в работе столкнуться с таким чужим кодом, мне хочется кого-нибудь убить.
 

avm

Новичок
Гравицапа, да не вопрос! пусть осваивает... я ж специально это оформил как работающий самодостаточный скрипт.
Просто это универсальный парсер для всяких META (не только name="")


hermit_refined, суицид - грех.
 

mak_sim2001

Новичок
hermit_refined
Нормальный код, я всегда такой пишу, посоветуй как писать что-бы неубивали
 

hardest

Новичок
avm
Спасибо тебе, очень огромнейшее!!! Это просто суперский парсер. Всё работает без проблем. Удачи тебе побольше!
 
Сверху