Помогите составить регулярку
Есть строка в ней может быть разное кол-во брэйков (<br />)
Надо выкусить кусок этой строки после определённого брэйка, за которым идёт слово аккумулятор.
Вот пробую такое выражение, и ничего не выкусывает(
preg_match('/<br \/>[a-z\-0-9_]* (.* аккумулятор.*)/Uism', $str, $accum);
Что тут можно изменить?
Разбиваем строку по брякам (<br />) и полученный набор исследуем на предмет ключевого слова.
Цитата: hardcase
Зачем городить огород?
Разбиваем строку по брякам (<br />) и полученный набор исследуем на предмет ключевого слова.
Разбиваем строку по брякам (<br />) и полученный набор исследуем на предмет ключевого слова.
Я пробовал, какой-то бред выходит...
Лучше регулярку сделать
Конкретный пример приведите - тогда поможем.
Вот например символы можно указать {afc1} и в таком стиле, а конкретно строку можно задать как-то?
Допустим найти найти все строки где есть "lalala", но они могут начинаться с <br /> а могут и не с него?
lalala(<br/>)?\n?
Цитата: UAS
lalala(<br/>)?\n?
Но то, что в скобках же вроде как должно выбираться в массив?
Чтобы то что в скобках не выбиралось в массив - добавить сразу после открывающей скобки ?:
http://phpclub.ru/detail/article/regexp_1
Код:
$regex='/(.*)<br \/>(.*)аккумулятор(.*)/';
$str='Текст1 <br />Текст2<br />Писька! <br /> 2 письки! аккумулятор <br /> Много писек!';
preg_match($regex, $str, $accum);
$str='Текст1 <br />Текст2<br />Писька! <br /> 2 письки! аккумулятор <br /> Много писек!';
preg_match($regex, $str, $accum);
В итоге получим:
Код:
$accum (
[1]=> 'Текст1 <br />Текст2<br />Писька! <br /> ' //Весь текст до рокового <br />
[2]=> ' 2 письки! ' //Кусочек текста после Рокового до аккумулятора
[3]=> ' <br /> Много писек!' //то что осталось после аккумулятора
)
[1]=> 'Текст1 <br />Текст2<br />Писька! <br /> ' //Весь текст до рокового <br />
[2]=> ' 2 письки! ' //Кусочек текста после Рокового до аккумулятора
[3]=> ' <br /> Много писек!' //то что осталось после аккумулятора
)
Надеюсь Вам помогло.
Протестировано с помощью PCRE.RU
:D:D:D Ооо, я уже стал великим на форуме xD
Цитата: Kesano
Т.к. в своё время напутствовался великим UAS, Попробую вставить свои 5 копеек... :)
В итоге получим:
Надеюсь Вам помогло.
Протестировано с помощью PCRE.RU
Код:
$regex='/(.*)<br \/>(.*)аккумулятор(.*)/';
$str='Текст1 <br />Текст2<br />Писька! <br /> 2 письки! аккумулятор <br /> Много писек!';
preg_match($regex, $str, $accum);
$str='Текст1 <br />Текст2<br />Писька! <br /> 2 письки! аккумулятор <br /> Много писек!';
preg_match($regex, $str, $accum);
В итоге получим:
Код:
$accum (
[1]=> 'Текст1 <br />Текст2<br />Писька! <br /> ' //Весь текст до рокового <br />
[2]=> ' 2 письки! ' //Кусочек текста после Рокового до аккумулятора
[3]=> ' <br /> Много писек!' //то что осталось после аккумулятора
)
[1]=> 'Текст1 <br />Текст2<br />Писька! <br /> ' //Весь текст до рокового <br />
[2]=> ' 2 письки! ' //Кусочек текста после Рокового до аккумулятора
[3]=> ' <br /> Много писек!' //то что осталось после аккумулятора
)
Надеюсь Вам помогло.
Протестировано с помощью PCRE.RU
Спасибо, но слегка не то, ладно уже и в принципе не важно)