Подскажите с функцией плиз )

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

Bester777

Постоялец
Регистрация
24 Июл 2009
Сообщения
67
Реакции
0
Я хочу загнать текст в массив, чтобы каждое предложение было с новой строки. А потом через цикл выбирать заданное количество строк и вставлять в форму. Подскажите плиз. Мне для кседанта.
Вот как я сделал.

$title = file("Title.txt");
$title = str_replace("\r\n", "", $title);
$content = file_get_contents("Content.txt");
$content = str_replace("\r\n", "", $content);


for($i=0;$i<2;$i++)
{
$input->set_value_by_name("title", $title[$i]);

$content2 = substr($content, 0, 500);
$content = substr($content, 501);


$mouse->click('35','533');

$keyboard->input($content2,$timeout=1);
sleep(3);
$button->click_by_number("1");
$browser->wait(5,3);
$captcha = $app->dlg_captcha_from_image_number(4);
$input->set_value_by_name("captcha", "$captcha");


$button->click_by_number("1");

$browser->wait(5,3);
sleep(5);
$anchor->click_by_inner_text("Publish an article","true");

$browser->wait(5,3);
}
Минус данного скрипта в том, что после первого прогона, во втором он может вырвать текст из середины предложения ))
 
А может предложения загнать так:
preg_match_all('/(.+?)\./is', $content, $result)
?
 
Как совершенно справедливо заметил CNiks0N, надо начать с нормального разбиения текста на предложения. Поищи, тут на форуме как-то обсуждался этот момент (разбиение текста по знакам препинания - ".", "!", "?" и тд).

Забавно, что приведенный код у тебя начинает косячить только после первого прогона :)
Плюс я не увидел реализации "заданного количества строк". То что у тебя сейчас сливает весь текст в одну строку, затем разбивает на 2 части и вводит вторую часть.
 
Скрипт разбивает текст в переменной $text на предложения и добавляет их в массив $data, каждое предложение новым элементом массива.
PHP:
$text=preg_replace('/([\.|\?|\!])\s+([А-Я|A-Z])/','\1 |\2',$text);
$data=explode('|', $text);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху