对于目录命名算法,需要从字符串中去除元音(和空格)以缩短目录名称。
找到这个帖子Removing vowels from a String (Scheme),但无法弄清楚如何将其转换为可用的功能。忘记那个线程 - 它不是PHP。对不起。
有关PHP解决方案的任何想法吗?
答案 0 :(得分:11)
我想知道你真的需要一个函数,因为它可以用一个正则表达式来完成。例如:
$some_dirname = 'This is a wonderful dirname';
$pure_dirname = preg_replace('#[aeiou\s]+#i', '', $some_dirname);
print $pure_dirname; // Thsswndrfldrnm
诀窍是对字符串运行正则表达式替换,删除所谓的character range
中的所有字符(用[]语法定义)。
我也使用'/ i'修饰符来移除大写元音。
答案 1 :(得分:9)
这应该有效:
$oldStr = "Some string";
$newStr = str_ireplace(array('a','e','i','o','u',' '), '', $oldStr);
答案 2 :(得分:5)
如何使用字符串替换?
$yourString = "FileNameOf Hello";
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U", " ");
$yourString = str_replace($vowels, "", $yourString);
echo $yourString; //FlNmfHll
答案 3 :(得分:0)
php中的字符串翻译有助于删除字符串:
strtr - 翻译字符或替换子字符串
$string = "voweltest";
$trans = array("a" => "","e"=>"","i"=>"","o"=>"","u"=>"");
echo strtr($string, $trans);
Output : vwltst