我想要这样的事情:
$name = str_replace(".", " ", $name);
但如果我有这个名字:
Text.Text.text.text.Text.5.0.1
我想仅从字母和" t.5"中删除点。 必须产生文字:
文本文本文本文本文本5.0.1
答案 0 :(得分:1)
尝试preg_replace('/([^\d])\./', '$1 ', $name)
/([^\d])\./
匹配非数字后跟.
。将$1
替换为您找到的非数字,后跟空格。
编辑:根据以下评论的精炼要求,即“。”只有在OR之前有一个非数字后才被删除,答案是(需要2个语句):
$name = preg_replace('/([^\d])\./', '$1 ', $name);
$name = preg_replace('/\.([^\d])/', ' $1', $name);