2011-05-15 8 views
0

내가 코드를 임의의 폰트를 생성하고 텍스트의 각 라인에 새로운 임의의 글꼴을 적용을하고무작위로

$line = str_replace ("a", "@", $line); 

을 추가하고 싶습니다하지만이가 적용되는 기회를 싶습니다 각 줄은 문자열 전체에 적용되기보다는 10 %가되어야합니다. 내가 어떻게 해? 여기에 기존 코드는 : 난 그냥 PHP에 익숙해지기 시작 해요

$fonts = array("Helvetica", "Arial", "Courier", "Georgia", "Serif", "Comic Sans", "Tahoma", "Geneva", "Times New Roman"); 
shuffle($fonts); 

$output = ""; 

$lines = array_slice(file("users.txt"), -20, 20); 

$i = 0; 
foreach ($lines as $line) { 
    if($i == count($fonts)) { 
    shuffle($fonts); 
    $i = 0; 
    } 
    $output .= '<div style="font-size: ' . rand(15, 23) . 'px; font-family:' . $fonts[$i] . '; margin-left: ' . rand(0, 60) . '%; opacity: 0.8;">' . $line . "</div>\n"; 
    $i++; 
    } 

echo $output; 

내가 함께 플레이 할 수있는 새로운 웹있어 것처럼 기분! : 당신이 가진 10 %의 확률하려는 경우 D 그래서

+0

당신이 CSS 파일에 PHP를 당겨 의미 또는이 특징이다 않습니다. randoms와 strin을 허용하는 CSS g 대체품? – John

답변

4

를 추가하려면 'A'로 변경 '@'다음 코드를 삽입하십시오 :

if(rand(0, 9) == 1) 
{ 
    $line = str_replace ("a", "@", $line); 
} 

그것은 0의 정수 생성 - (9)과 1 (10 %의 확률로 동일한 경우, 그것은 당신의 서식을 적용

+0

그래, 나보다 조금 청소기가 너무 – Ascherer

+0

레코드에 대한 0과 9 사이의 생성 된 숫자가 – Ascherer

+1

같으면 중요하지 않습니다! – John

1

, 테 foreach($lines as $line) 루프에서,이

$rand = rand(0,9); 
if($rand == 0) 
{ 
    $line = str_replace("a","@",$line); 
} 
+0

완벽한, 고마워, 나는이 프로젝트에 대한 지식을 최대한 활용할거야! – John