l假设我有以下内容:$string = 'New+York-NY
,+
我想要一个's
,-
在哪里,我想要', '
。格式化的字符串将显示为 New York, NY
。
这是我的代码: $string = '纽约+纽约';
$formattedLocation = preg_replace('/[+]/', ' ', $location);
$formattedLocation = preg_replace('/-/', ', ', $formattedLocation);
echo $formattedLocation;
此代码有效。但是它很丑陋,我想重构它(如果可能的话)。我试过了:
$formattedLocation = preg_replace('/[+]/', ' ', $location) && preg_replace('/-/', ', ', $location);
然而,这行不通,而且仍然很丑陋。我应该使用其他功能吗?还是我的正则表达式应该不同?请不要建议将其包装在自定义函数中(这不是我正在寻找的答案)。
谢谢
对于这么简单的事情,你真的需要使用正则表达式吗?尝试使用str_replace
:
$formattedLocation = str_replace(array('+', '-'), array(' ', ', '), $location);