4

preg_replace次の文字列に対して PHP を使用して文字置換を実行したいと思います。

Dieser Text enthält diverse Akürzungen wie z.B., d.h., u.a. oder m.w.H.

出力は次のようになります。

Dieser Text enthält diverse Abkürzungen wie z.\,B., d.\,h., u.\,a. oder m.\,w.\,H.

現在、私はこのコードを使用しています:

<?php
$text = 'Dieser Text enthält diverse Akürzungen wie z.B., d.h., u.a. oder m.w.H.';

$searchFor = array(
    '/([a-z]\.)([a-z]\.)([a-z]\.)/i', // m.w.H.
    '/([a-z]\.)([a-z]\.)/i', // z.B.
);

$replaceWith = array(
    '\1\\,\2\\,\3',
    '\1\\,\2',
);

$replaced = preg_replace($searchFor, $replaceWith, $text);
?>

2 つの正規表現を組み合わせる方法はありますか?

次の式を使用している場合、一致した文字を使用できません。

/([a-z]\.){2,}/i

どんな助けでも大歓迎です。

4

1 に答える 1