[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Такая проблема
aybulat
Появилась проблема разбиения тескта на 2 части.

Есть Статья, которую надо разбить на 2 части. Первая часть будет кратким описанием, для этого из общей статьи нужно выделить первое предложение заканчивающееся точкой.
Проблема в том что
1.Статья может начинатся с картинки (где точка тоже может встретится).
2.Кроме того статья не одна их несколько и что будет непосредственно после точки тоже не известно.
Вот пример текста статьи:

HTML
<img src="http://www.site.ru/3.jpg"> Текст1.</br>Текст2


Здесь нужно выделить 'Текст1.'

Пытался сначала выкинуть все теги из текста, потом искать просто точку, но при этом теряется позиция этой точки в изначальном тексте и разбить текст по ней уже не получается. Сейчас наибольшие проблемы доставляет 2-й пункт.



Спустя 1 час, 53 минуты, 29 секунд (30.01.2009 - 17:00) FatCat написал(а):
1. "Очистить" все теги, оставив только скобки:
PHP
$txt preg_replace"#<(.+?)>#is""<>"$txt );

2. Эксплодить по точке; взять первое значение, эксплодить его по <> и взять последнее значение. Добавить ему точку в конец. Например, звать его будут $key

3. Добавить разбивку после первого вхождения $key в строку $txt.

Спустя 1 час, 10 минут, 23 секунды (30.01.2009 - 18:10) aybulat написал(а):
Сразу такой вопрос:
После выделения исходный текст должен остатся таким

HTML
<img src="http://www.site.ru/3.jpg"> </br>Текст2


то есть уже без вырезанного из него выделенного предложения.
Это учитывается?
Кроме того первое предложение само может содержать теги, например гиперссылки поэтому 3 пункт может не пройти.

Опишу задачу подробнее на общем примере

HTML
<img src="http://www.site.ru/3.jpg"> Вводный<a href='...'>ссылка</a>текст.</br>Текст2<img src="http://www.site.ru/7.jpg">


В результате должны остатся 2 переменный
1.
HTML
<img src="http://www.site.ru/3.jpg"></br>Текст2<img src="http://www.site.ru/7.jpg">

2.
HTML
Вводный<a href='...'>ссылка</a>текст.

Спустя 43 минуты, 12 секунд (30.01.2009 - 18:53) FatCat написал(а):
Цитата (aybulat @ 30.01.2009 - 15:06)
разбить на 2 части

Цитата (aybulat @ 30.01.2009 - 18:10)
В результате должны остатся 2 переменный
1.

HTML 
<img src="http://www.site.ru/3.jpg"></br>Текст2<img src="http://www.site.ru/7.jpg">

Варианты взаимоисключающие.
В связи с отсутствием телепатических способностей, катапультируюсь из этой темы.

Спустя 2 часа, 41 минута, 14 секунд (30.01.2009 - 21:35) aybulat написал(а):
Почему взаимоисключающие? Один текст надо поделить на 2 части и записать их соответственно в 2 переменные.

Спустя 4 минуты, 21 секунда (30.01.2009 - 21:39) kirik написал(а):
aybulat, так прокатит?
PHP
$str '<img src="http://www.site.ru/3.jpg"> Вводный<a href="...">ссылка</a>текст.<br />Текст2<img src="http://www.site.ru/7.jpg">';
preg_match_all('/(\<img [^\>]+\>)([^\<]+\<a [^\>]+\>[^\<]+\<\/a\>[^\<]+)(\<br \/\>[^\<]+\<img [^\>]+\>)/'$str$outPREG_SET_ORDER);
$var1 $out[0][1].$out[0][3];
$var2 $out[0][2];
unset(
$out);

echo 
"<pre><xmp>First variable - {$var1}\nSecond variable - {$var2}";

Быстрый ответ:

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