Сканер Symfony получает текст со следующим братомPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сканер Symfony получает текст со следующим братом

Сообщение Anonymous »

Учитывая следующий HTML-код:

Код: Выделить всё

1. Question [b]1[/b]

2. You have [u]Question[/u][b]1[/b]

3. Question [b]3[/b]


Я хочу получить такой текст:

Код: Выделить всё

[
0 => 'Question 1', // Or 'Question [b]1[/b]' is better
1 => 'You have Question 2',
2 => 'Question 3'
]
Это мой код:

Код: Выделить всё

$results = [];
$questions = $crawler->filterXPath('//*[contains(@class, "body")]/text()[normalize-space()][following-sibling::input]');
$questions = $questions->each(function($c) use (&$results) {
$line = trim($c->text());
if(preg_match('/^[0-9]{1,2}\./', $line, $matches) == true) {
$number = $matches[0];
if(is_numeric($number) && $number != '') {
$results[] = trim(str_replace($number, '', $line));
}
} elseif(!empty($results)) {
$results[count($results) - 1] .= '\n'. $line;
}
});

return $results;
Он отлично работает без тегов и . Как бы вы это сделали?

Подробнее здесь: https://stackoverflow.com/questions/379 ... ng-sibling
Ответить

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

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»