Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Поиск по сайту









Подписка на новости
Ваше имя:
Ваш E-Mail:*
Секретный код:
Секретный код
Повторить:*
Интересное в сети
  • Взято с http://cardiology-club.com
  • пеларгония королевская
  • Форум -> Обо всём... -> вырезание тегов из текста
    вырезание тегов из текста
    rocksmart Дата: 27.08.2008, в 20:11 | Сообщение №1
    rocksmart
    Старожил
    Пользователь №: 261
    Сообщений: 330

    нужна помощь, так как сам в этом я 0.
    Есть некий текст:
    <b class='news_title'>"Cкaй Линк" oткpывaeт тapиф "Бeзлимитный – oблacтнoй"</b> <span class='news_date'>27.08.2008</span>
    <p class='news_text'>Компания «Скай Линк» открывает для подключений в Москве новый тарифный план с зональной тарификацией передачи данных - «Безлимитный – областной». Тариф, подключения к которому начнутся с 1 сентября 2008 года, включает <br /><span class='news_author'>Источник: Mobil.ru</span></p><hr class='news_hr'>



    нужно вырезать текст между этими тегами:
    $title="Cкaй Линк" oткpывaeт тapиф "Бeзлимитный – oблacтнoй"
    $date=27.08.2008
    $hometext=Компания «Скай Линк» открывает для подключений в Москве новый тарифный план с зональной тарификацией передачи данных - «Безлимитный – областной». Тариф, подключения к которому начнутся с 1 сентября 2008 года, включает
    $avtor=Источник: Mobil.ru
    RRRinat Дата: 27.08.2008, в 20:31 | Сообщение №2
    RRRinat
    Активный участник
    Пользователь №: 135
    Сообщений: 112

    Самый простой способ это юзать strip_tags
    strip_tags('текст', 'список разрешенных тегов');
    Serg_pnz Дата: 28.08.2008, в 10:00 | Сообщение №3
    Serg_pnz
    Администратор
    Пользователь №: 1
    Сообщений: 2242

    rocksmart, грабилку делаешь? Регулярные выражения тебе в помощь.

    Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
    "...даме водки? Это чистый спирт!" © кот Бегемот
    otherside Дата: 28.08.2008, в 10:23 | Сообщение №4
    otherside
    Старожил
    Пользователь №: 22
    Сообщений: 387

    Вот кусочек кода, который вырезает из новости (Модуль News) картинки и ссылки:
    Код
    1
    $bodytext = (!$bodytext) ? "".$hometext."".$fields."" : "".$hometext."<br />".$bodytext."".$fields."";
    $bodytext = preg_replace('#<img(.*?)>#si','',$bodytext);
    $bodytext = preg_replace('#<a(.*?)>#si','',$bodytext);


    Я это использую в PDA версии сайта. Может и не правильно, однако работает. Можеи и тебя на какие нитьь мысли натолкнет

    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    Отредактированно otherside 28.08.2008 г. в 10:24:32
    rocksmart Дата: 02.09.2008, в 14:04 | Сообщение №5
    rocksmart
    Старожил
    Пользователь №: 261
    Сообщений: 330

    Код
    1
    preg_match_all("#(<b class='news_title'>)(.+?)(</b>)#is",$page,$t);
    preg_match_all("#(<p class='news_text'>)(.+?)(<hr class='news_hr'>)#is",$page, $h);
    $subject[] = $t[0];
    $hometext[] = $h[0];
    $aid = "ura";
    var_dump($subject);
    var_dump($hometext);
    $db->sql_query("INSERT INTO ".$prefix."_stories VALUES (NULL, '0', '$postname', '$subject', now(), '$hometext', '$bodytext', '$field', '0', '0', '$topic', '0', '$alanguage', '0', '0', '0', '0', '2')");


    где $page это файл из которого надо вытащить информацию :

    Код
    1
    <b class='news_title'>заголовок</b> <span class='news_date'>02.09.2008</span><p class='news_text'>описание<span class='news_author'>Источник:  хрен.ru.ru</span></p><hr class='news_hr'>
    <b class='news_title'>заголовок-2</b> <span class='news_date'>02.09.2008</span><p class='news_text'>описание-2<span class='news_author'>Источник:  хрен.ru</span></p><hr class='news_hr'>

    вот это: var_dump($subject); выводит это:
    array(1) { [0]=> array(10) { [0]=> string(9) ""заголовок" [1]=> string(9) "заголовок-2"}}
    вот это: var_dump($hometext); выводит это:
    array(1) { [0]=> array(10) { [0]=> string(9) ""описание" [1]=> string(9) "описание-2"}}
    так вот вопрос как записать это все в базу и что бы было соответствие заголовок=описание и заголовок-2=описание-2?

    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    Отредактированно rocksmart 02.09.2008 г. в 14:10:18
    rocksmart Дата: 02.09.2008, в 14:11 | Сообщение №6
    rocksmart
    Старожил
    Пользователь №: 261
    Сообщений: 330

    или может массив можно вывести без var_dump(.....); как то?
    rocksmart Дата: 02.09.2008, в 14:35 | Сообщение №7
    rocksmart
    Старожил
    Пользователь №: 261
    Сообщений: 330

    кстати вот это выводит print_r($subject); без этого string(9)
    Serg_pnz Дата: 02.09.2008, в 14:44 | Сообщение №8
    Serg_pnz
    Администратор
    Пользователь №: 1
    Сообщений: 2242

    вар-дамп - это для вывода на экран, типа посмотреть
    надо как-то так ($m1, $m2 и т.д. - это твои массивы)

    Код
    1
    foreach($m1 as $key => $val) {
        echo $m1[$key]."br".$m2[$key];
    }


    только пишешь не "эхо", а свой инсерт, расставляя массивы по местам

    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    Отредактированно Serg_pnz 02.09.2008 г. в 15:18:13

    Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
    "...даме водки? Это чистый спирт!" © кот Бегемот
    Serg_pnz Дата: 02.09.2008, в 15:23 | Сообщение №9
    Serg_pnz
    Администратор
    Пользователь №: 1
    Сообщений: 2242

    1. В предыдущем скрипте я немного накосячил (исправлено)

    2. Не знаю что нужно вставлять, в любом случае рекомендую:
    2.1. Анализировать для каждого получаемого массива (у нас $t и $h) то, что отдает парсер через такой код
    Код
    1
    echo "<pre>";
    print_r($t);
    echo "</pre>";

    2.2. Не городить огород с переназначением переменных, это лишнее
    Код
    1
    $subject[] = $t[0];


    3. Ну и собственно как всё должно выглядеть
    Код
    1
    <?php

    $page = "   <b class='news_title'>заголовок</b> <span class='news_date'>02.09.2008</span><p class='news_text'>описание<span class='news_author'>Источник:  хрен.ru.ru</span></p><hr class='news_hr'><b class='news_title'>заголовок-2</b> <span class='news_date'>02.09.2008</span><p class='news_text'>описание-2<span class='news_author'>Источник:  хрен.ru</span></p><hr class='news_hr'>";

    preg_match_all("#(<b class='news_title'>)(.+?)(</b>)#is",$page,$t);
    preg_match_all("#(<p class='news_text'>)(.+?)(<hr class='news_hr'>)#is",$page, $h);

    echo "Смотрим результаты:";
    echo "<pre>";
    print_r($t[0]);
    print_r($h[2]);
    echo "</pre>";

    echo "Выводим результаты для инсерта (щас я буду выводить через echo, но там поставите запрос):";

    foreach($t[0] as $key => $val) {
        echo "<br><br>".$t[0][$key]."<br>".$h[2][$key];
    }
    ?>


    Получаем такую "картинку"
    Цитата
    Смотрим результаты:

    Array
    (
    [0] => заголовок
    [1] => заголовок-2
    )
    Array
    (
    [0] => описаниеИсточник: хрен.ru.ru


    [1] => описание-2Источник: хрен.ru


    )

    Выводим результаты для инсерта (щас я буду выводить через echo, но там поставите запрос):

    заголовок
    описаниеИсточник: хрен.ru.ru



    заголовок-2
    описание-2Источник: хрен.ru

    Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
    "...даме водки? Это чистый спирт!" © кот Бегемот
    rocksmart Дата: 02.09.2008, в 16:05 | Сообщение №10
    rocksmart
    Старожил
    Пользователь №: 261
    Сообщений: 330

    то есть вот так
    Код
    1
    $postname = "uratera";
    $subject = text_filter($t[0][$key]);
    $hometext = nl2br(text_filter($h[2][$key], 2));
    $topic = 4;
    $bodytext ="";
    $db->sql_query("INSERT INTO ".$prefix."_stories VALUES (NULL, '0', '$postname', '$subject', now(), '$hometext', '$bodytext', '$field', '0', '0', '$topic', '0', '$alanguage', '0', '0', '0', '0', '1')");


    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    Отредактированно rocksmart 02.09.2008 г. в 16:39:09

    Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!


    Реклама
    Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул

    Rambler's Top100

    Генерация страницы: 0.262 сек. и 17 запросов к базе данных за 0.021 сек.
    Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.