douji3623 2014-03-12 09:00
浏览 27
已采纳

如何删除所有垃圾字符,但在PHP中通过正则表达式保留货币符号?

Here is my code in php

<?php
$output = "Clean this copy of invalid non ASCII ¥ äócharacters.";
$output = preg_replace('/[^(\x20-\x7F\p{Sc})]/','',$output);    
echo($output);
?>

Here I want to keep any currency symbols as it is and need to remove junk characters .

What changes should I make in regex for this issue ?

Thanks in advance

  • 写回答

3条回答 默认 最新

  • doupao2277 2014-03-12 09:10
    关注

    You need to add the u modifier to the RegEx and it works nicely:

    $output = 'Clean this copy of invalid non ASCII ¥$€ äócharacters';
    $output = preg_replace('/[^(\x20-\x7F\p{Sc})]/u','',$output);    
    

    Outputs

    Clean this copy of invalid non ASCII ¥$€ characters.
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?