Как выбрать все слова, которые следуют до запятой, пропустив N количество слов в начале предложения?
Лишь человек не может примирится с тем, что у кого-то есть преимущество перед ним. Выбрать все слова до запятой после слова тем, и пропустив в начале N количество слов, например, человек не может примирится с тем
Hello1: Вроде все верно, есть предложение : Лишь человек не может примирится с тем, что у кого-то есть преимущество перед ним. Нужно убрать пару слов в начале ЛИШЬ ЧЕЛОВЕК и вернуть остальные слова, которые следуют до запятой: не может примирится с тем
$str = 'Лишь человек не может примириться с тем, что у кого-то есть преимущество перед ним.';
$N = 1;
if (preg_match('/(\b\w+\b\W+){'.$N.'}\b(.+),/u', $str, $match)) {
echo $match[2];
}
А если просто до конца предложения? Например Лишь человек не может примирится с тем, что у кого-то есть преимущество перед ним. можно заменить в вашем примере запятую на точку, но что делать если нет точки?
27cm: Простите ещё раз, а возможно ли засунуть в регулярку $?
Например
$piz = $_POST["texta"];
$piec = explode(" ", $piz);
$str = $piz;
$lo = $pieces[3];
Только как вставить значение $lo?
27cm: Спасибо, простите что замучил, но у меня снова возникли вопросы, 100% последние:)
1) Только не умеющие любить не способны на великодушие
if (preg_match'/\b'.$lo.'\b\W*\b(.+)/iu', $str, $match)) {
$word = $match[1];
}
можно проверить так, но что делать, если известные слова повторяется? Например нужно взять текст после второго не, но появится не умеющие любить не способны на великодушие, а что нужно для того чтобы вывести способны на великодушие?
2) Предложение умные люди не выставляют перед другими свои преимущества, как взять весь текст с начала предложения до слова не?
Заранее спасибо