-1

ディレクトリ命名アルゴリズムでは、ディレクトリ名を短くするために、文字列から母音 (および空白) を削除する必要があります。

このスレッドを見つけました String (Scheme) から母音を削除していますが、それを使用可能な関数に変換する方法がわかりません。そのスレッドを忘れてください-それはPHPではありません。申し訳ありません。

それでは、PHPソリューションについて何か考えはありますか?

4

4 に答える 4

11

単一の正規表現で実行できる場合、ここで関数が本当に必要なのだろうか。例えば:

$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' 修飾子を使用して、大文字の母音も削除しました。

于 2012-09-05T16:43:11.797 に答える
9

これはうまくいくはずです:

$oldStr = "Some string";
$newStr = str_ireplace(array('a','e','i','o','u',' '), '', $oldStr);
于 2012-09-05T16:45:43.703 に答える
5

文字列置換を使用するのはどうですか?

$yourString = "FileNameOf Hello";
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U", " ");
$yourString = str_replace($vowels, "", $yourString);
echo $yourString; //FlNmfHll
于 2012-09-05T16:44:36.700 に答える
0

PHP の String Translate は、文字列の削除に役立ちます。

strtr — 文字の変換または部分文字列の置換

$string = "voweltest";
$trans = array("a" => "","e"=>"","i"=>"","o"=>"","u"=>"");
echo strtr($string, $trans);

Output : vwltst

于 2013-06-26T05:54:00.200 に答える