私は小さなチャット システムを備えた予約サイトを持っており、潜在的なゲストがホストにメッセージを送ることができます。たとえば、部屋が空いているかどうかを尋ねることができます。
自分のサイト ドメインの URL を除いて、ユーザーが入力した URL を非表示 (= **** に置き換え) にしたい。現在、任意の URL に正常に一致する正規表現があります。
$replacing_string = '****';
$userMessage = preg_replace('{\b(?:http://)?(www\.)?([^\s]+)(\.com|\.org|\.net|\.it)\b}mi', $replacing_string, $userMessage);
mydomain.comを含む URL 以外のすべての URL に一致するように、それを編集する必要があります。
これらの文字列の期待される結果:
「こんにちは、代わりに私のサイトをチェックしてください www.othersite.com/room/123」
preg_replace の後:
「こんにちは、代わりに私のサイトをチェックしてください****」
「こんにちは、この部屋は空いていますか? www.mydomain.com/room/123」
preg_replace の後:
「こんにちは、この部屋は空いていますか? www.mydomain.com/room/123」