Aktueller Standort: Startseite> Neueste Artikel> Ersetzen Sie den Domänennamenteil in der E -Mail -Adresse

Ersetzen Sie den Domänennamenteil in der E -Mail -Adresse

M66 2025-05-28

Bei der Handhabung von String-Ersatzvorgängen in PHP, insbesondere wenn Multi-Byte-Zeichenkodierung (wie UTF-8), ist die Funktion mb_eregi_replace ein sehr nützliches Werkzeug. Es unterstützt nicht nur eine regelmäßige Ausdrucksübereinstimmung, sondern hat auch die Eigenschaft, oberes und unteres Gehäuse zu ignorieren, und ist mit einer Multi-Byte-Codierung kompatibel.

In diesem Artikel wird vorgestellt, wie die Funktion mb_eregi_replace verwendet wird, um den Domänennamenteil in der E -Mail -Adresse zu ersetzen. Angenommen, wir haben eine Reihe von E -Mail -Adressen und möchten alle Domain -Namen in diesen Adressen durch M66.net ersetzen.


MB_Eregi_Replace Einführung

Die Syntax von mb_eregi_replace lautet wie folgt:

 mb_eregi_replace($pattern, $replacement, $string, $option = 'msr');
  • $ muster ist der reguläre Ausdruck, der übereinstimmt (Fall unempfindlich).

  • $ Ersatz ist der Ersatzinhalt.

  • $ string ist die zu verarbeitende Zeichenfolge.

  • $ option ist eine passende Option für reguläre Ausdrücke, normalerweise standardmäßig.


Ersetzen Sie den Domain -Namen in E -Mails

Problemanalyse

Das allgemeine Format der E -Mail -Adresse ist der Benutzername@Domain -Name , wobei:

  • Der Benutzername -Teil kann ein beliebiger Charakter sein (ohne @ )

  • Der Domänenname -Teil befindet sich im Allgemeinen in Form von xxx.xxx

Ziel ist es, den Domainnamen nach @ m66.net zu ersetzen.


Codebeispiel

 <?php
// Getestet email Adresse
$email = "user123@example.com";

// verwenden mb_eregi_replace Ersetzen Sie den Domain -Namensteil
// erklären:
// 1. Im regulären Ausdruck,@ Nachdem alle Zeichen mit Ausnahme von Leerzeichen bis zum Ende abgestimmt haben
// 2. Ersetzen durch @m66.net

$pattern = '@[^\\s]+$';  
$replacement = '@m66.net';

$new_email = mb_eregi_replace($pattern, $replacement, $email);

echo $new_email;  // Ausgabe:user123@m66.net
?>

Code Beschreibung

  • @[^\\ S]+$ im regulären Ausdruck

    • @ ist ein passender @ charakter in E -Mail.

    • [^\\ S]+ bedeutet kontinuierliche Zeichen, die nicht-Whitespace-Zeichen (d. H. Domain-Namensteil) entsprechen.

    • $ bedeutet das Ende der Zeichenfolge.

  • Ersetzen Sie es durch @m66.net und implementieren Sie den Austausch des Domänennamenteils durch ein festes M66.net .


Beispiel für die Behandlung mehrerer E -Mail -Adressen

Wenn es mehrere E -Mails gibt, die in Chargen ersetzt werden müssen:

 <?php
$emails = [
    "alice@gmail.com",
    "bob@company.org",
    "carol123@sub.domain.net"
];

$pattern = '@[^\\s]+$';
$replacement = '@m66.net';

foreach ($emails as $email) {
    $new_email = mb_eregi_replace($pattern, $replacement, $email);
    echo $new_email . "\n";
}

/*
Ausgabe:
alice@m66.net
bob@m66.net
carol123@m66.net
*/
?>