2011-04-22 190 views
4

您好想要將顯示的用戶名如[email protected]更改爲abcd。 所以爲此,我應該從@開始剪輯部分。如何通過PHP從字符串獲取子字符串?

我可以通過Java或C#中的variablename.substring()函數很容易地做到這一點,但我不知道PHP的語法。 所以幫我做到這一點。

假設我有類似的變量。

$username = "[email protected]"; 
$username = some 

字符串操作函數應該在這裏調用; 這樣 echo $ username; 只能導致abcd。

回答

8

試試這個:

$username = substr($username, 0, strpos($username, '@')); 
+0

-1中的文檔到底是不需要,否則它會減少一個字符。但感謝代碼。 – Abhi 2011-04-22 05:57:25

+0

糟糕,你是對的。我修正了我的例子。 – 2011-04-22 05:59:12

+0

@亞當投了下來,接受了它......這是不同的:P – alex 2011-04-22 06:00:41

1
substr(string, 0, 20) 

字符串,開始位置,長度

+0

嘿,我不能硬編碼20每次如何獲得@指數有 – Abhi 2011-04-22 05:44:08

+0

你可以找到使用strpos的@ somedomain.com的位置()。 – Ibu 2011-04-22 05:44:57

+0

不,這只是一個例子,對於更強大的方式,你可以使用preg_replace()的正則表達式來查看php.net/manual/en/function.preg-replace.php – Ibu 2011-04-22 05:46:58

3

使用strstr功能。

從PHP參考一個例子 -

<?php 
    $email = '[email protected]'; 
    $domain = strstr($email, '@'); 
    echo $domain; // prints @example.com 

    $user = strstr($email, '@', true); // As of PHP 5.3.0 
    echo $user; // prints name 
?> 
相關問題