我想"用正確的德語引號替換英寸字符?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 關注
- 133 瀏覽
添加回答
舉報
0/150
提交
取消