単純な正規表現は、スペース、任意の数の文字 (またはコロン)、その後のスペース、および文字列の末尾の任意の数の文字に一致する可能性があります。
$str = "Lorem ipsum dolor sit amet. Source: LOREM";
$str = preg_replace( "/\s[a-z:]+\s[a-z]+$/i", "", $str );
// Lorem ipsum dolor sit amet.
echo $str;
分解された式は次のとおりです。
\s // Single space
[a-z:]+ // Any letter, a to z, or a colon, 1 or more times
\s // Single space
[a-z]+ // Any letter, a to z, 1 or more times
$ // End of string
デモ: http://codepad.org/G22LnDDY
もう 1 つの方法はexplode
、単語の配列を作成し、最後の 2 つを削除するために使用することです。
$str = "Lorem ipsum dolor sit amet. Source: LOREM";
$words = explode( " ", $str );
array_splice( $words, -2 );
// Lorem ipsum dolor sit amet.
echo implode( " ", $words );
デモ: http://codepad.org/6XwqvwuP