の唯一の始まりからキーは、さまざまなを取る文字列であるところ(私はこの例では、トップレベルについての唯一の心配のに多次元)私は配列を持っている... PHPを使用して配列のキー
を潜在的な文字を削除しますフォームの。キーの例は次のとおりです。
- フレッド・スミス
- ドクター・ジョン・ポール
- 博士メアリー・エレン
- ビル・ドライバ
私は、 '博士'、 '博士' '博士' を削除する関数を必要とします、 'Dr.キーが見つかった場所のどこかで始まります。私は現在...私はそれはほとんどそこに私を取得している、ここでの回答How to remove spaces in array keys names in php?
で見つかった
function fixArrayKey(&$arr) {
$arr = array_combine(
array_map(
function ($str) {
return str_replace(array('Dr. ', 'Dr.', 'Dr ', 'Dr'), '', $str);
},
array_keys($arr)
),
array_values($arr)
);
}
を...これを使用していますが、どこかで試合に作用します文字列、私は結局終わります。
アイバー
- フレッド・スミス
- ヨハネ・パウロ
- メアリー・エレン
- ビル、私は私が(にpreg_replaceを使用して検討する必要があり気持ちを持っている)、ややこの例Remove a string from the beginning of a string様およびI私はpreg_replace()の制限を設定することができますが、私はよくわからないと思う。私もltrim()を見てきましたが、それは正しくありません。私の問題は、一致するものが見つからないか、2,3,4文字の長さの一致があり、文字列の途中で削除したくないものがある可能性があるということです。
私はpreg_replace()で正しい方向を見ていますか?
'preg_replace( '〜^ Dr \。?\ s *〜'、 ''、$ str)' –
'preg_replace( '〜^ Dr \ b \。?\ s *〜 '、' '、$ str) 'が良いでしょう。 –
私は説明付きで答えを加えました。 –