【发布时间】:2017-11-15 21:37:02
【问题描述】:
我想在 PHP 中删除字符串的数字和标点符号(句号、逗号等),例如我尝试过这个
<?php
$str = "Hello, lorem ipsum, dolor sit amet. Adipiscing90 elit. 1234567890. ";
$text = preg_replace('/\d+/u', '', $str);
echo $text;
?>
这只会删除数字但没有标点符号导致:
你好,lorem ipsum,dolor sit amet。 Adipiscing 精英。 .
我想要这样,没有逗号、句号等:
你好 lorem ipsum dolor sit amet Adipiscing elit
如何修改 preg_replace 函数?
我需要一些帮助。
【问题讨论】:
-
试试模式
/[^\w\s]|\d/。 -
所以只保留字母和空格? regex101.com/r/DeRxeD/2
-
/[[:punct:]]|\d/ 匹配标点和数字
-
@miknik 您不需要更改,只需将
\d也放入字符类中。[[:punct:]\d]+. -
@GrumpyCrouton 效果很好!谢谢!
标签: php regex preg-replace