webForumDet fria alternativet

Byta ut tecken.

4 svar · 321 visningar · startad av andsj0

andsj0Medlem sedan aug. 200419 inlägg
#1

När jag hämtar upp lite info från våran databas så skulle jag vilja byta ut alla siffror 0-9 med exempelvis en stjärna * All annan info ska visas som vanligt.

Jag tror att det ska gå att göra detta med hjälp av php.

PeddaMedlem sedan juni 20006 032 inlägg
#2

Här är en funktion

function replaceNummer($text) { 
	$text = str_replace("0", "*", $text); 
	$text = str_replace("1", "*", $text); 
	$text = str_replace("2", "*", $text); 
	$text = str_replace("3", "*", $text); 
	$text = str_replace("4", "*", $text); 
	$text = str_replace("5", "*", $text); 
	$text = str_replace("6", "*", $text); 
	$text = str_replace("7", "*", $text); 
	$text = str_replace("8", "*", $text); 
	$text = str_replace("9", "*", $text); 
	return ($text); 
}
andsj0Medlem sedan aug. 200419 inlägg
#3

Jag har provat men inte fått det att funka. Testade på följande sätt men fick bara siffrorna utskrivna.


$text = "0123456789";
function replaceNummer($text) { 
    $text = str_replace("0", "*", $text); 
    $text = str_replace("1", "*", $text); 
    $text = str_replace("2", "*", $text); 
    $text = str_replace("3", "*", $text); 
    $text = str_replace("4", "*", $text); 
    $text = str_replace("5", "*", $text); 
    $text = str_replace("6", "*", $text); 
    $text = str_replace("7", "*", $text); 
    $text = str_replace("8", "*", $text); 
    $text = str_replace("9", "*", $text); 
    return ($text); 
}
echo"$text";

Tänker jag galet ??

supremeMedlem sedan sep. 2002252 inlägg
#4

Det du inte gör är att du glömmer att kalla på funktionen replaceNummer()!

lägg följande kod efter defenitionen av funktionen och innan echo $text;

replaceNummer($text);
HansenMedlem sedan aug. 2000374 inlägg
#5

Pedda skrev:

Här är en funktion

function replaceNummer($text) { 
	$text = str_replace("0", "*", $text); 
	$text = str_replace("1", "*", $text); 
	$text = str_replace("2", "*", $text); 
	$text = str_replace("3", "*", $text); 
	$text = str_replace("4", "*", $text); 
	$text = str_replace("5", "*", $text); 
	$text = str_replace("6", "*", $text); 
	$text = str_replace("7", "*", $text); 
	$text = str_replace("8", "*", $text); 
	$text = str_replace("9", "*", $text); 
	return ($text); 
}

Här är betydligt kortare variant, mer effektiv:

<?php

function replaceNumber($string) {
    return preg_replace( '/\d/', '*', $string ); 
}

echo replaceNumber('A0123456789B'), "\n";
?>
129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)