簡體   English   中英

PHP使用正則表達式查找字符串的一部分

[英]Php find a part of string using regular expression

我想在@之后使用正則表達式獲取電子郵件字符串的一部分。 例如,我有字符串“ mirko@gmail.com”,並且我想獲取“ gmail.com”。 我寫了/^@./但沒有用-我寫了

preg_match('/^@./', $string, $output);
print($output);

我該如何解決?

你有幾個錯誤。 首先,用插入號告訴您希望@符號在字符串中位於第一位。 因此,對於永遠不會匹配的電子郵件。 然后,您需要設置一個捕獲組以實際獲取@之后的零件。 所以看起來像這樣:

<?php
$mail = "mirko@gmail.com";
preg_match('/@(.+)/', $mail, $output);
print_r($output[1]); // gmail.com

但是 ,這是一個非常簡單的任務,您不應該使用常規表達式。 explode()將執行以下操作:

<?php
$mail = "mirko@gmail.com";
$mailArray = explode("@", $mail);
print_r($mailArray[1]); // gmail.com

為什么用正則表達式執行這種簡單的任務? strpossubstr結合使用,或僅將explode()@用作其他答案所指示的第一個參數。

$email_string = "mirko@gmail.com";    
$result = substr($email_string, strpos($email_string, "@") + 1);    
echo $result ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM