2013-01-10 1 views
0

스피 : 변수 $ 이름 AVENDAÑO을 보유하고preg_replace이다의 Ñ이 코드가의 .. preg_replace이다에 을 n의 값을 대체하려고

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

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

있지만, PAULVIC T.는 여전히 AVENDAÃ'O 표시를 , PAULVIC T.

하지만 난 그것을 N. 아닌 모든 문자를 대체 위의 코드를 사용하려고하면 내가 거기에 뭔가 잘못 내 정규식 나 사람이이 문제에 관한 문자를 해결하기 위해 어떤 대안을 알고 않습니다 알고

서식?

당신

답변

1

사용 않는 str_replace를 사용하는 것입니다. ,

이 NO AVENDA ~에 결과
<?php 
$name = 'AVENDAÑO, PAULVIC T.'; 
$match = str_replace('Ñ','N',$name); 

echo $match; 
?> 
+0

화면에 Ñ를 올바르게 표시하는 방법이 있다고 생각합니까? 내가 원하는 str_replace ('Ñ', 'Ñ', $ 이름); – Vainglory07

+0

웹 페이지에있는 경우 사용 된 코드 페이지가 올바른지 확인하십시오. UTF-8은 아마도 당신이 사용하기를 원할 것입니다 :'' 쉘 세션에 있다면 코드 페이지도 확인하십시오. – DaveyBoy

1

이 작업을 수행하는 가장 좋은 방법은 감사 대신 iconvhttp://php.net/manual/en/function.iconv.php

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

, PAULVIC T. – Vainglory07

+0

는 1 차/2 차 PARAMS이 있어야 할 무엇을 아주 확실하지, 더 나은 정보는 PHP 문서를 확인, 나는 거의이 기능을 사용하지,하지만 사용하기 좋습니다 모든 특수 문자에 대해 몇백 개의 str_replace()를 써야하기 때문에. –

관련 문제