[英]Clean up a comma-separated list by regex
我想清理以逗號分隔的標簽列表以刪除空標簽和多余的空格。 我想出了
$str='first , second ,, third, ,fourth suffix';
echo preg_replace('#[,]{2,}#',',',preg_replace('#\s*,+\s*#',',',preg_replace('#\s+#s',' ',$str)));
到目前為止效果很好,但是可以一次更換嗎?
您可以使用:
\h*([,\h])(?1)*
查看在線演示
\h*
- 0+(貪婪)水平空白字符;([,\h])
- 匹配逗號或水平空白的第一個捕獲組;(?1)*
- 遞歸第一個子模式 0+(貪婪)次。替換為第一個捕獲組:
$str='first , second ,, third, ,fourth suffix';
echo preg_replace('~\h*([,\h])(?1)*~', '$1', $str);
印刷:
first,second,third,fourth suffix
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.