【发布时间】:2013-08-04 12:21:25
【问题描述】:
我想在 PHP 中使用 preg_replace 对以下字符串执行字符替换:
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);
?>
有没有办法把这两个正则表达式结合起来?
当我使用以下表达式时,我无法使用匹配的字符:
/([a-z]\.){2,}/i
非常感谢任何帮助。
【问题讨论】:
标签: php regex preg-replace