1

Тема: Сложная выборка из одного столбца с записью в другой

Здравствуйте.

Слёзно... именно слёзно (уже всю голову сломал)... прошу вашей помощи.
Есть таблица в БД у сайта на DLE. В ней соответственно присутствуют два столбца: full_story и descr.
Нужно взять из full_story два первых предложения, т.е. до второй точки включительно, и записать эти данные в descr.
Сложность в том, что я не могу понять, как именно нужно составить запрос, чтобы он удалил теги и взял из остального данные именно до второй точки включительно:

Пример данных в full_story:

<a href="/uploads/posts/2013-04/1365153602_Habbl-obnaruzhil-samuyu-daliekuyu-iz-izvestnyh-svehnovyh.jpg" title="Хаббл обнаружил самую далекую из известных свехновых" target="_blank" onclick="return hs.expand(this);"><img src="/uploads/posts/2013-04/thumbs/1365153602_Habbl-obnaruzhil-samuyu-daliekuyu-iz-izvestnyh-svehnovyh.jpg" title="Хаббл обнаружил самую далекую из известных свехновых" alt="Хаббл обнаружил самую далекую из известных свехновых" width="230" height="172" /></a><p><em>Она появилась более 10 миллиардов лет назад. Исследователи надеются, что наблюдение за ней позволит лучше понять, как развивалась Вселенная на ранних этапах.</em></p>
<p>Уникальные кадры, обнародованные НАСА. Это — поверхность Марса. На серии снимков хорошо видно, как ветер колышет парашют аппарата "Кьюриосити", при помощи которого он совершил посадку. Правда, сделаны фото с интервалом в несколько недель.

Нужно вырезать все теги с содержимым, и взять только текст до второй точки включительно, при том, что в тексте могут быть как русские буквы, так и латинские. Также могут присутствовать цифры и знаки препинания.

Огромное спасибо всем кто отзовётся.

2

Re: Сложная выборка из одного столбца с записью в другой

SQL запросом вы этого сделать не сможете, необходимо подготовить PHP скрипт, который удалял бы HTML теги и читал бы первые два предложения.

Смотрите функцию strip_tags и explode.

$str = strip_tags($html_str); // $html_str содержит текст с HTML кодом.
$str_array = explode('.', $str); // Разбиваем строку в массив по разделителю символа точка.
$return = (isset($str_array[0]) ? $str_array[0] . '.' : '') . (isset($str_array[1]) ? $str_array[1] . '.' : ''); // Собираем строку из двух предложений, если они существуют.

3

Re: Сложная выборка из одного столбца с записью в другой

sad
Печалька... Спасибо... Будем копать.