0

l 假设我有以下内容:我想要在哪里,我$string = 'New+York-NY想要在哪里。格式化的字符串将显示为.+\s-', 'New York, NY

这是我的代码: $string = 'New+York-NY';

    $formattedLocation = preg_replace('/[+]/', ' ', $location);
    $formattedLocation = preg_replace('/-/', ', ', $formattedLocation);

    echo $formattedLocation;

此代码有效。但是它很丑陋,我想重构它(如果可能的话)。我试过了:

    $formattedLocation = preg_replace('/[+]/', ' ', $location) && preg_replace('/-/', ', ', $location);

然而,这不起作用,而且仍然很丑陋。我应该使用不同的功能吗?或者我的正则表达式应该不同吗?请不要建议将其包装在自定义函数中(这不是我正在寻找的答案)。

谢谢

4

1 回答 1

1

对于这么简单的事情,你真的需要使用正则表达式吗?尝试使用str_replace

$formattedLocation = str_replace(array('+', '-'), array(' ', ', '), $location);
于 2013-11-14T02:40:43.287 回答