删除除PHP中给定列表之外的所有字符

时间:2012-06-03 23:02:41

标签: php

我现在已经绞尽脑汁并在网上搜索了一个多小时......

我在PHP中寻找一个函数,以“修剪”,但除了给定列表中的字符之外,还要删除任何字符,例如;

$niceChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_+";
$rawString = "myString";
$happyString = removeNastyNess($rawString, $niceChars);

是否存在任何此类功能?

3 个答案:

答案 0 :(得分:1)

最好的选择是使用regular expressions。您的好字符集看起来像[\w-+]规则。因此,解决方案可以如下。

$happyString = preg_replace("/[^\w-+]/", "", $rawString);

答案 1 :(得分:1)

preg_replace("|[^abcdef]|", '')? (其中abcdef是允许的字符)

答案 2 :(得分:1)

没有reg exp:

function removeNastyNess($rawString, $niceChars) {
    return implode('', array_intersect(str_split($rawString), str_split($niceChars)));
}