|
|
|
|
|
для: .....
(03.09.2010 в 15:10)
| | Если нужно всё до определенного фрагмента, можно воспользоваться такой конструкцией:
<?php
$pattern = "|.+?(?=усе)|si";
?>
|
либо
<?php
$pattern = "|.+?(?:усе)|si";
?>
|
также:
<?php
$pattern = "|(.+?)[\s]*(?=усе)|si";
?>
|
задача у этих патернов одна и таже, но результат немного различный | |
|
|
|
|
автор: ..... (03.09.2010 в 15:10) |
|
|
для: Slo_Nik
(03.09.2010 в 13:43)
| | (.+)усе - проходит весь текст , потом возвращаясь назад ищет в нём 'усе' с конца
жадность + ;)
мне показалось нужно что-то типа
1. /.*?(?=slovo)/s
2. /.*?(?=slovo|$)/s
3. /(.*?)(?:slovo|$)/s
4. /(.*?)slovo/s
5. /(?>(?!slovo).)*/s
6. /(?>[^s]*(?!slovo).)*/
...t.d.... | |
|
|
|
|
|
|
|
для: andreyua
(03.09.2010 в 00:52)
| | у меня сработало такое РВ
<?php
$text = "слово слово траляля
ывывафыалфжвдлафва
ывалоывалд усе выалвща
вазлдвщзалвза
вщаолзщафлзщафы
слово слово траляля";
$pattern = "|(.+)усе[^>]+$|is";
if(preg_match_all($pattern, $text, $out)){
echo "<pre>";
print_r($out);
echo "</pre>";
}
else{
echo "<br>Нет информации.";
}
?>
|
можно использовать и preg_match(), изменится только структура массива $out | |
|
|
|
|
автор: ..... (03.09.2010 в 13:11) |
|
|
для: andreyua
(03.09.2010 в 00:52)
| | A esli ne budet takogo slova, vybirat' vsyo ili nichego? | |
|
|
|
|
|
|
| Скажите пожалуйста, как делать парсинг в тексте, только до тех пор, пока не достигнуто, например такое сочетание "усе"
Например
слово слово траляля
ывывафыалфжвдлафва
ывалоывалд усе выалвща
вазлдвщзалвза
вщаолзщафлзщафы
слово слово траляля
|
То есть , обрабатывать только до "усе" :) | |
|
|
|
|