带浮点数/小数的字母数字

时间:2018-07-16 09:54:05

标签: php regex

我将以下内容剥离为字母数字a-z0-9

echo preg_replace("/[^[:alnum:][:space:]]/u", '', $text);

工作正常。我如何允许它保持浮点数,因此10.9不会被剥离为109。我尝试了/[^[:alnum:][:space:][.]]/u,但是没有用。

去除浮点数,但如果它不是十进制数,则应去除点。因此,etc.应该剥离为etc,但是1.5应该保持为1.5

1 个答案:

答案 0 :(得分:2)

您可以使用环视检查点之前是否没有数字,或者点之后没有数字,然后删除它:

echo preg_replace("/[^[:alnum:][:space:].]|(?<!\d)\.|\.(?!\d)/u", '', $text);