簡體   English   中英

在PHP中使用正則表達式分割字符串

[英]Splitting strings with regular expression in PHP

有人可以告訴我為什么我得到的結果不同於書嗎?

這是代碼

<?php
$address = "username@example.com";
$arr = split ("\.|@", $address);
while (list($key, $value) = each($arr))
{
    echo "<br/>".$value;
}
?>

這是書說你應該得到的結果

username
@
example
.
com

這是我在計算機上嘗試代碼時得到的信息

Deprecated: Function split() is deprecated in C:\Apache24\htdocs\test3.php on line 3

username
example
com

自PHP 5.3.0起不推薦使用split()函數。

請改用preg_split()

其用法與split()相同。

這本書是錯誤的,因為您不應該自己獲取分隔符,而只能獲取它們之間的“單詞”。

該警告是由於split()即將終止而改用preg_split() ,因此您應該將其替換為

$arr = preg_split ('/\.|@/', $address);

以防止警告。

我建議您僅先用@分割,然后再用分割域名. ,否則您將不知道foo.bar@example.com還是foo@bar.example.com導致

foo
bar
example
com

結果。

暫無
暫無

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

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