php preg_replace fo danish char' s

时间:2014-03-18 17:50:10

标签: php preg-replace

我为此搜索了很多但没有找到有效的东西

案例:

我有一个php页面,显示披萨送货的送货信息,一切正常,除了特殊的丹麦炭::æ,ø和å以及他们的资本对手Æ。 Ø和Å

它们在屏幕上显示正常,但在串行热敏打印机上它们没有,我想用代码告诉打印机要打印什么来替换这3个字符。

为了使这三个人能够很难在一个单词中显示出来,一个例子就是我的街道名称:Sandkæret其次是房子号码。街道名称也可以是2个单词。

如果这些char是独立的,我可以让替换工作,但如果它们在一个单词中则不行。

到目前为止,我已经使用过:

$string = $row['delivery_street_address'];

$patterns = array();
$patterns[0] = '*å*';
$patterns[1] = '*æ*';
$patterns[2] = '*ø*';


$replacements = array();
$replacements[3] = '/x7D';
$replacements[2] = 'X';
$replacements[1] = '/x7C';


echo str_replace($patterns, $replacements, $string);

也试过这个:

echo preg_replace("/([æ])/", "<span class=\"initial\">$1</span>", $string);

但仍然没有去

一个善良的灵魂可以帮助一个NOOB +新手吗?

2 个答案:

答案 0 :(得分:3)

str_replace可以正常使用,只需删除字符周围的*

$patterns = array();
$patterns[0] = 'å';
$patterns[1] = 'æ';
$patterns[2] = 'ø';

当然,您也可以这样写:

$patterns = array('å', 'æ', 'ø');
$replacements = array('/x7D', 'X', '/x7C');
echo str_replace($patterns, $replacements, $string);

答案 1 :(得分:0)

str_replace替换preg_replace会有效。或者@ p.s.w.g的答案也会起作用:)