Игнорирование оставшейся части строки после определенного символа в PHP - PullRequest
0 голосов
/ 16 января 2012

Как бы я игнорировал все после определенного раздела в строке?

Проблема в том, что строка является переменной и не будет одинаковой каждый раз.

Вот пример того, что я хочу сделать:


Это часть строки, которую я хочу прочитать

Я НЕ ХОЧУ ЧИТАТЬ НИЧЕГО С ЭТОЙ ТОЧКИ НА ...

(игнорируйте все это) В воскресенье, 15 января 2012 г. в 11:55, написал:

Затем я хочу вернуть ТОЛЬКО ту часть, которую я хочу прочитать, чтобы я мог проверить ее и сделать то, что мне нужно с этими данными ... Проблема в том, что "В воскресенье, 15 января 2012 г. в 11:55, писал (а): "всегда будет другим и переменным ... так что я думаю, что мне придется использовать preg_match, чтобы найти эту фразу? Не уверен в этом ... спасибо за вашу помощь!

Просто подумал о чем-то еще, что я мог бы сделать, чтобы сделать эту работу ...

То, что я делаю, проверяет тело письма на наличие определенных слов или фраз, а затем выполняет определенную задачу, если фраза найдена ... У меня уже есть эта часть написана. Что могло бы работать, если в строке была найдена конкретная фраза, мне нужно было бы ОСТАНОВИТЬ проверку остальной части строки. Дерьмо ... на самом деле это будет работать ТОЛЬКО если фраза найдена в первой части ... если она НЕ найдена в первой части, то скрипт продолжит проверку строки и может найти искомую фразу в вторая часть, которая заставила бы мою функциональность работать неправильно. Просто мысль ....

Ответы [ 2 ]

1 голос
/ 16 января 2012
$string = "This SHOULD be displayed    On Tue, Jan 17, 2012 at 6:05 PM   I wrote: And this should NOT be displayed";
$output = array();

preg_match("/On (\w{3}), (\w{3}) (\d{2}), (\d{4}) at (\d{1,2}:\d{2}) (\w{2})/", $string, $output);
$string = explode($output[0], $string);
$string = trim($string[0]);

Это обрезает строку в «Вторник» 17 января 2012 г. в 18:05 и возвращает текст, предшествующий дате.

1 голос
/ 16 января 2012
...