preg_replaceÑ具有正确的字符

时间:2013-01-10 15:57:39

标签: php regex preg-replace

我试图在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,但是它仍然显示AVENDAÃ'O,PAULVIC T.

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

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

谢谢

2 个答案:

答案 0 :(得分:2)

执行此操作的最佳方法是使用iconv http://php.net/manual/en/function.iconv.php

echo iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $name);

答案 1 :(得分:1)

改用str_replace。

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

echo $match;
?>
相关问题