dongmeng0317 2012-08-10 02:14
浏览 63
已采纳

删除除数字和减号之外的所有内容PHP preg_replace

I've currently got

preg_replace('/[^0-9]/s', '', $myvariable); 

For example the input is GB -3. My current line is giving me the value 3. I want to be able to keep the minus so that the value shows -3 instead of the current output of 3.

  • 写回答

1条回答 默认 最新

  • dongyang7152 2012-08-10 02:16
    关注

    try this :

    preg_replace('/[^\d-]+/', '', $myvariable); 
    

    breakdown of regex:

    • // on both sides are regex delimiter - everything that is inside is regex
    • [] means that this is character class. Rules change in character class
    • ^ inside character class stands for "not".
    • \d is short for [0-9], only difference is that it can be used both inside and outside of character class
    • - will match minus sign
    • + in the end is the quantifier, it means that this should match one or more characters
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?