ディレクトリ命名アルゴリズムでは、ディレクトリ名を短くするために、文字列から母音 (および空白) を削除する必要があります。
このスレッドを見つけました String (Scheme) から母音を削除していますが、それを使用可能な関数に変換する方法がわかりません。そのスレッドを忘れてください-それはPHPではありません。申し訳ありません。
それでは、PHPソリューションについて何か考えはありますか?
ディレクトリ命名アルゴリズムでは、ディレクトリ名を短くするために、文字列から母音 (および空白) を削除する必要があります。
このスレッドを見つけました String (Scheme) から母音を削除していますが、それを使用可能な関数に変換する方法がわかりません。そのスレッドを忘れてください-それはPHPではありません。申し訳ありません。
それでは、PHPソリューションについて何か考えはありますか?
単一の正規表現で実行できる場合、ここで関数が本当に必要なのだろうか。例えば:
$some_dirname = 'This is a wonderful dirname';
$pure_dirname = preg_replace('#[aeiou\s]+#i', '', $some_dirname);
print $pure_dirname; // Thsswndrfldrnm
秘訣は、文字列に対して regex replace を実行し、いわゆるcharacter range
([] 構文で定義された) すべての文字を削除することです。
'/i' 修飾子を使用して、大文字の母音も削除しました。
これはうまくいくはずです:
$oldStr = "Some string";
$newStr = str_ireplace(array('a','e','i','o','u',' '), '', $oldStr);
文字列置換を使用するのはどうですか?
$yourString = "FileNameOf Hello";
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U", " ");
$yourString = str_replace($vowels, "", $yourString);
echo $yourString; //FlNmfHll
PHP の String Translate は、文字列の削除に役立ちます。
strtr — 文字の変換または部分文字列の置換
$string = "voweltest";
$trans = array("a" => "","e"=>"","i"=>"","o"=>"","u"=>"");
echo strtr($string, $trans);
Output : vwltst