Требуется разбить текст

Статус
В этой теме нельзя размещать новые ответы.

асс

Мой дом здесь!
Регистрация
13 Окт 2006
Сообщения
762
Реакции
230
Возник вопрос как разить текст чтоб предлоежение
было законченое.

Делал так
PHP:
<?php

 $text="Нужны ли области люди в условиях грядущей безработицы?
  Какие рабочие лучше - дорогие, но свои или дешевые, но чужие? Соблюсти шаткий баланс между местной рабочей силой и гастарбайтерами [B][COLOR="Red"]- эту[/COLOR][/B] непростую задачу приходится решать любой стране, в том числе - и России. В Суздале на международном семинаре обсуждали проблемы миграции в условиях финансового кризиса. <br><br>Мигрант, гастарбайтер - это не только забавный персонаж комедийного телешоу, но и - один самых страшных демонов в общественном сознании. Социологи бьют тревогу - какие опросы не проводи, а добиться от наших людей любви к приезжим не получается.";
$tex =  substr("$text",100,101);
$text= str_replace("$tex","$tex ||", $text);
echo $text ;
 $ary=explode("||",$text);
  // $ary[0] = strip_tags($ary[0],'');
   var_dump($ary);

?>

код что я показал разбивает строку так. Вставляет разрыв в - э ||ту я выделил его красным.

Как сделать чтоб разбивало по окончани предложения?

Сейчас вывод масива такой
array(2) {
[0]=>
string(202) "Нужны ли области и далее

Теперь разрыв
гастарбайтерами - э "
[1]=>
string(424) "ту непростую
красным то что разорвано.

Нужно чтоб разрыв попадал на точку
[1]=>
string(424) "ту непростую задачу приходится решать любой стране, в том числе - и России.

у нас между знаком 100-101
врезается ||
А я хочу чтоб он вставлялся после точки .
и России.

отсчитывал нужное мне количество знаков(в данном пример отсчитано от 100 по 101 знак)

и вот после 101 искало точку и вставляло ||

Надеюсь кто нибудь поймет, что я хочу сделать.
Спасибо.
 
PHP:
$text = preg_replace('~([\.!?])~s',"\$1###",$text);
$text = preg_split("~###~",$text);

Получается массив с предложениями, вместо ### все что угодно.
 
Вот же была тема.
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху