情況就是這樣,我有一個字串變數包含一個帶標題的全名。我只想得到名字,沒有昏迷和標題。然后我用下劃線 (_) 替換空格結果。
我試過的:
$name = 'John Doe, Ph.D'
$get_name = preg_split('/[\s,] /', $name, 2);
$username = strtolower($get_name[0] . '_' . $get_name[1]);
dd($get_name, $username); //result : john_doe, ph.d
如何得到如下結果:john_doe從變數$name?
uj5u.com熱心網友回復:
您可以使用preg_replace先將第二個名稱(如果存在)之后的所有內容替換到末尾,然后將空格替換為_,并將小寫輸入傳遞給它。'Fred , M.Sc'這允許您支持輸入,例如'Fred John Doe , B.A':
$name = 'John Doe, Ph.D';
$get_name = preg_replace(array('/^([a-z] (?:\s [a-z] )?)[^a-z].*$/', '/\s /'), array('$1', '_'), strtolower($name));
echo $get_name;
$name = 'Fred , M.Sc';
$get_name = preg_replace(array('/^([a-z] (?:\s [a-z] )?)[^a-z].*$/', '/\s /'), array('$1', '_'), strtolower($name));
echo $get_name;
$name = 'Fred John Doe , B.A';
$get_name = preg_replace(array('/^([a-z] (?:\s [a-z] )?)[^a-z].*$/', '/\s /'), array('$1', '_'), strtolower($name));
echo $get_name;
輸出:
john_doe
fred
fred_john
3v4l.org 上的演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/447372.html
下一篇:根據先前的選擇顯示下拉值
