我试图在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。
我知道我的正则表达式有问题,或者有没有人知道解决这些字符格式问题的替代方法?
谢谢
答案 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;
?>