<html lang="ja-jp" dir="ltr"><head></head><body>### [テキストフィールドでドメインをブロックする方法](https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/)

**公開日:** 2023年2月21日
**著者:** Umair Majeed

**抜粋:** このチュートリアルでは、段落テキストおよび一行テキストのフォームフィールドでドメインをブロックする方法を説明します。

**コンテンツ:**

ウェブフォームのセキュリティを強化することに興味がありますか？簡単なPHPスニペットを使用すると、フォームのテキストフィールド内で直接特定のドメインからの送信を効果的にブロックできます。このチュートリアルでは、この機能を実装するステップバイステッププロセスを案内し、フォームがスパムや悪意のある送信から保護されていることを保証します。

## フォームの作成

新しいフォームを作成することから始めます。フォームは、名前、メールアドレス、および追加したいその他のコメントを尋ねるだけのシンプルな連絡フォームです。

例として、**名前**、**メールアドレス**、**段落テキスト**、および（追加のセキュリティのために）**カスタムキャプチャ**のフォームフィールドを追加します。

![フォームを作成し、フィールドを追加することから始めます](https://wpforms.com/wp-content/uploads/2023/02/wpforms-block-domains-create-form.jpg)ヘルプが必要な場合は、[新しいフォームの作成方法に関する役立つガイドをご覧ください](https://wpforms.com/docs/creating-first-form/ "最初のフォームの作成")。

## ドメインのブロック

ここでスニペットを追加します。スニペットの追加方法と場所に関するヘルプについては、[このチュートリアルをご覧ください](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/ "WPForms用のカスタムPHPまたはJavaScriptの追加方法")。

### 段落テキストフィールド

```

/**
 * 段落テキスト内のドメインをブロック
 *
 * @link   https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/
 */
  
function wpf_dev_prevent_domains_textarea( $field_id, $field_submit, $form_data ) {
     
    if ( preg_match( '/www.|.com|.net|.org|.co.uk/', $field_submit ) ) {
        wpforms()-&gt;get( 'process' )-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'これは許可されていません。', 'plugin-domain' );
    }
}
  
add_action( 'wpforms_process_validate_textarea' , 'wpf_dev_prevent_domains_textarea', 10, 3 );
```

このスニペットは、`preg_match` 内に表示される単語の任意の組み合わせを**段落テキスト**フォームフィールド内で検索し、条件が true の場合はフォーム送信をブロックします。

![コメントフィールドにドメイン名が含まれている場合、フォームは送信されません](https://wpforms.com/wp-content/uploads/2023/02/wpforms-block-domains-error.jpg)### 一行テキストフィールド

同様の機能を**一行テキスト**フィールドにも簡単に使用できます。スニペットは、フィルター名を除いてほぼ同じになります。

```

/**
 * 一行テキスト内のドメインをブロック
 *
 * @link   https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/
 */
  
function wpf_dev_prevent_domains_text( $field_id, $field_submit, $form_data ) {
     
    if ( preg_match( '/www.|.com|.net|.org|.co.uk/', $field_submit ) ) {
        wpforms()-&gt;get( 'process' )-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'これは許可されていません。', 'plugin-domain' );
    }
}
  
add_action( 'wpforms_process_validate_text' , 'wpf_dev_prevent_domains_text', 10, 3 );
```

これで完了です！これらのフィールドで不適切な言葉をブロックすることもできますか？[不適切な言葉を含むフォーム送信をブロックする方法](https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/ "不適切な言葉を含むフォーム送信をブロックする方法") に関するチュートリアルをご覧ください。

## 参照アクション

- [wpforms\_process\_validate\_textarea](https://wpforms.com/developers/wpforms_process_validate_textarea/ "wpforms_process_validate_textareaアクションの使用")
- [wpforms\_process\_validate\_text](https://wpforms.com/developers/wpforms_process_validate_text/ "wpforms_process_validate_textアクションの使用")

## FAQ

#### Q: リッチテキストフォームフィールドで使用できますか？

**A:** もちろんです！リッチテキストフォームフィールド用のスニペットはこちらです。

```

/**
 * リッチテキスト内のドメインをブロック
 *
 * @link   https://wpforms.com/developers/how-to-block-domains-from-your-text-fields/
 */
  
function wpf_dev_prevent_domains_richtext( $field_id, $field_submit, $form_data ) {
     
    if ( preg_match( '/www.|.com|.net|.org|.co.uk/', $field_submit ) ) {
        wpforms()-&gt;get( 'process' )-&gt;errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'これは許可されていません。', 'plugin-domain' );
    }
}
  
add_action( 'wpforms_process_validate_richtext' , 'wpf_dev_prevent_domains_richtext', 10, 3 );
```

#### Q: 他のフィールドに適用するにはどうすればよいですか？

**A:** ほとんどすべてのフィールドには何らかの検証があります。ほとんどのフィールドは `do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data )` を使用します。`_{$field_type}` をフィールドタイプに置き換えるだけです。

**カテゴリー:** フィールド

**タグ:** PHP

---</body></html>