削除したい投稿タイトル内の場所と日付を含む外部フィードを解析しています。
This happened on Date in Location
(スペース上のスペース)を見つけて、on
(スペース内のスペース)と同じように、行末まですべてを削除する必要がありますin
。
少しグーグルで検索しましたが、正規表現は私にとって本当に理解できないので、助けていただければ幸いです。
ありがとう!
リテラル " on
" は完全に一致します。次に、" " の後のすべてを照合するように正規表現エンジンに指示します.*
。(.
は改行と一致しないため、必要に応じて機能することに注意してください。)
" " の場合、括弧と垂直バー" "in
でマークされた代替が必要です。文字クラス" "を使用して、これを少し厳密にすることもできます。()
|
(on|in)
[]
[oi]n
これで、次の正規表現に到達します。
/ [oi]n .*/
on
と以降のすべてを削除したいin
が、on
とin
自体は削除したくない場合は、ネガティブルックビハインドを使用します。
(?<=\son\s).*
と
(?<=\sin\s).*
行末まで?それから私は推測します:
preg_replace("/(?:on|in).*?(\n|$)/", "", 'This happened on Date in Location');
やりますか。