SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Помощ с един regex

BullBlogger

С рогите напред
Имам следното изречение:

Код:
When he left NASA, he explored underwater adventures as an aquanaut in the Navy’s Man in the Sea Project. Said John Glenn. It was about 30 minutes before the start of a NASA.

Искам да разкарам "Said John Glenn. "

и да остане чистото

Код:
When he left NASA, he explored underwater adventures as an aquanaut in the Navy’s Man in the Sea Project. It was about 30 minutes before the start of a NASA.


Обстоятелства, с които трябва да се съобразя

1. възможно е нежелания пасаж да е в началото, в средата или в края на целия текст
2. Нежелания стринг винаги започва със 'Said ' и следва име.
3. Името за мое огромно съжаление може да изглежда и така John F. Kennedy или така Dr. Alban или дори така Maria-Antoaneta Tudor

Ако името не съдържа символи като точка, тире или апостроф (O'Henry) регекса е лесен

Код:
echo preg_replace('/(Said )\w+\s\w+\.\s/', '', $string);

Някакви идеи как да отрежа всичко, което попада в критериите в рамките на 20 символа след 'Said '. На прост език предпочитам да изгубя случайно изречение, което започва със Said отколкото да ми остане някакво неотрязано парче от име. Иде реч за php
 
Re: Помощ с един regex

Споко, открих ключа за палатката. Благодаря за помощта

Код:
echo preg_replace('/(Said )[A-Za-z\s.\'-]+\.\s/', '', $proba);
 
За: Re: Помощ с един regex

За: Re: Помощ с един regex

Споко, открих ключа за палатката. Благодаря за помощта

Код:
echo preg_replace('/(Said )[A-Za-z\s.\'-]+\.\s/', '', $proba);

When Nasa balblalbga. Said Jupiter is small planet. Its not true


моето творение:

Код:
$text = preg_replace('/ Said (?:[A-Z .-]{1,3}(?: [A-Z]?)?(?:[a-z]+))*\./u', '', $text);
 
Re: За: Re: Помощ с един regex

Re: За: Re: Помощ с един regex

When Nasa ... Said Jupiter is small planet. Its not true

Е то оставаше и да е TRUE. Тия от НАСА съвсем са изкукригали да плещят такива глупости


моето творение:

Код:
$text = preg_replace('/ Said (?:[A-Z .-]{1,3}(?: [A-Z]?)?(?:[a-z]+))*\./u', '', $text);

Репичка за хитрото предложение :party:
 

Горе