我會通過XML閱讀的文本字符串,讓以分和秒時間如下:如何從PHP中使用字符串提取可變長度的文本?
「79分鐘43秒」
但我需要提取分鐘。
紀要可能是與「分」字後有一個空格,然後我不感興趣秒1,2,3或4圖號。
我怎麼能提取分鐘身影進入一個單獨的字符串使用PHP?
我會通過XML閱讀的文本字符串,讓以分和秒時間如下:如何從PHP中使用字符串提取可變長度的文本?
「79分鐘43秒」
但我需要提取分鐘。
紀要可能是與「分」字後有一個空格,然後我不感興趣秒1,2,3或4圖號。
我怎麼能提取分鐘身影進入一個單獨的字符串使用PHP?
可以使用(int)
轉換成String的任何領先的數字轉換成一個數字:
$minutes = (int)"79 minutes 43 seconds";
這種方法僅限於以數字開頭,這個數字總是意味着分鐘字符串。對於其他情況,使用正則表達式可能會更好。
如果有可能在幾分鐘號碼前面其他文本,您可以使用正則表達式提取值:
$matches = array();
preg_match("/(\d+) minutes/", $your_input, $matches);
$num_minutes = (int)$matches[1];
你對錯過的分隔符是正確的,但是你對轉義錯誤 - 「\\ d」轉換爲\ d字符串,因爲'\\'是* PHP's *之後的單斜槓。字符串逃脫。 PHP正則表達式引擎足夠聰明,可以*單獨接受'「\ d」'生成的控制字符,但也會很樂意接受'「\\ d」'(嘗試它)。如果你想匹配一個字面斜線,你實際上必須使用''\\\\''來首先繞過PHP的字符串轉義,然後是正則表達式引擎的轉義。 – Amber
是的,這確實我需要的,謝謝! –