我想"用正确的德语引号替换英寸字符„example“。一个示例字符串是:$string = `Mein Name ist "Joseph"`我试过str_replace("\"", '„', $string)但当然它会用相同的引号替换所有英寸字符Mein Name ist „Joseph„所以我想我需要一个正则表达式来以某种方式替换单词之前的英寸字符和同一单词之后的„英寸字符以获得结果“Mein Name ist „Joseph“尽管阅读了正则表达式的工作原理,但我无法真正弄清楚如何实现这一目标。任何提示都将受到欢迎,谢谢!
2 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
尝试这样的事情,
$re = '/("([^"]*)")/';
$str = 'Mein Name ist "Joseph"';
$subst = '„$2“';
$result = preg_replace($re, $subst, $str);
echo $result;
繁花不似锦
TA贡献1851条经验 获得超4个赞
干得好。我使用正则表达式替换第一个“,然后用第二个字符替换其他所有内容。
$string = 'Mein Name ist "Joseph"';
$patterns = array();
$patterns[0] = '/ "/';
$patterns[1] = '/^"/';
$replacements = array();
$replacements[1] = ' „';
$replacements[0] = '^„';
$str = preg_replace($patterns, $replacements, $string);
$str = str_replace("\"", '“', $str);
echo $str;
- 2 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消