1

我试图在 preg_replace 中替换 Ñ 的值。我有这个代码:

<?php
$name = 'AVENDAÑO, PAULVIC T.';
$match = preg_replace('/[^A-Z]/','N',$name);

echo '<pre>';
print_r($match);
echo '</pre>';
?>

虽然变量 $name 包含 AVENDAÑO, PAULVIC T。但它仍然显示 AVENDAÑO, PAULVIC T。

但是当我尝试使用上面的代码时,它会将所有非字符替换为 N。

我知道我的正则表达式有问题,或者有人知道解决这些字符格式问题的替代方法吗?

4

2 回答 2

2

最好的方法是使用iconv http://php.net/manual/en/function.iconv.php

echo iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $name);
于 2013-01-10T16:06:03.403 回答
2

请改用 str_replace。

<?php
$name = 'AVENDAÑO, PAULVIC T.';
$match = str_replace('Ñ','N',$name);

echo $match;
?>
于 2013-01-10T16:08:28.643 回答