4
我想用preg_replace
在PHP在下面的字符串来执行字符替换: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);
?>
有没有办法将两个reg ular表达式?
当我使用下面的表达式,我不能够使用匹配的字符:
/([a-z]\.){2,}/i
任何帮助是极大的赞赏。
非常感谢您的回答。但不幸的是,它给了我m \ w.H。而不是m。\,w。\,H。 – Mark
@Mark:我不知道为什么!我编辑了一个工作解决方案。 –
太棒了!现在正在工作。只要我有足够的声誉点,我就会赞扬你的答案。 – Mark