Zahlen durch arabische Ziffern ersetzen

Zeichen ersetzen in mehreren Schritten.

Weitere Beispiele

Beispiel ausführen

Manchmal kann man ein zunächst schwierig erscheinendes Ersetzungsproblem einfach lösen wenn man einen Zwischenschritt einführt.

Im folgenden Beispiel werden so unerwünschte Mehrfachersetzungen verhindert.

<?php 
// Zahlen in String durch Unicode-Entities fuer die entsprechende arabischen Ziffern ersetzen
 
$text 'In diesem Text sollen die Zahlen 0123456789 durch arabische Ziffern ersetzt werden.'

$search_for_list   = array('0',  '1',  '2''3''4''5''6''7''8' ,'9');
$intermediate_list = array('0_',  '1_',  '2_''3_''4_''5_''6_''7_''8_' ,'9_'); 
$replace_with_list = array(
# UNICODE arabische Ziffern
 
'&#1776;',  
 
'&#1633;',  
 
'&#1778;'
 
'&#1779;'
 
'&#1636;'
 
'&#1637;'
 
'&#1638;'
 
'&#1639;'
 
'&#1640;',
 
'&#1641;',
 ); 


$text str_replace($search_for_list$intermediate_list$text); 
$text str_replace($intermediate_list$replace_with_list$text); 

print 
$text

?>

Zur Veranschaulichung des Problems hier noch ein Versuch ohne Zwischenschritt.

Es kommt durch unerwünschte Ersetzungen zu ungültigen Entities.

<?php 

$search_for_list   
= array('0',  '1',  '2''3''4''5''6''7''8' ,'9');

$replace_with_list = array(
# UNICODE arabische Ziffern
 
'&#1776;',  
 
'&#1633;',  
 
'&#1778;'
 
'&#1779;'
 
'&#1636;'
 
'&#1637;'
 
'&#1638;'
 
'&#1639;'
 
'&#1640;',
 
'&#1641;',
 ); 


$text ' Es sollen die Zahlen 0123456789 durch arabische Ziffern ersetzt werden.'

$text str_replace($search_for_list$replace_with_list$text); 

print 
$text


?>

Benutzte Funktionen


Hinweise zum DatenschutzImpressum © 2005-2008 S. Eickhoff