从2个字母

时间:2015-12-07 00:03:28

标签: php

我想要这样的事情:

$name = str_replace(".", " ", $name);

但如果我有这个名字:

  

Text.Text.text.text.Text.5.0.1

我想仅从字母和" t.5"中删除点。 必须产生文字:

  

文本文本文本文本文本5.0.1

1 个答案:

答案 0 :(得分:1)

尝试preg_replace('/([^\d])\./', '$1 ', $name)

/([^\d])\./匹配非数字后跟.。将$1替换为您找到的非数字,后跟空格。

编辑:根据以下评论的精炼要求,即“。”只有在OR之前有一个非数字后才被删除,答案是(需要2个语句):

$name = preg_replace('/([^\d])\./', '$1 ', $name);
$name = preg_replace('/\.([^\d])/', ' $1', $name);