2011-03-10 262 views
0

我希望能夠檢查輸入的字符串中是否有$字母中的任何字符,以及它是否顯示每個相關字符的相關圖像。所以如果有人進入你好。它會顯示h.png,e.png,l.png,l.png和o.png。到目前爲止,我已經得到了它的識別用戶輸入和回聲出來,並搜索是否有特定的書,並輸出到相關圖像通過這個代碼:while循環和if語句麻煩php

<?php 
$input = trim($_POST["textarea"]); 

echo $input; 
echo "<br />"; 

if(strcmp($input[0],'a')==0){ 
    echo "<img src='egypt/$input.png'>"; 
    }else{ 
    echo "You did not write a"; 
    } 


?> 

這完美的作品。不過,我曾經嘗試輸入更多的代碼,這將使整個字符串,包括空格與全字母$字母進行分析,每個字符串中的字符匹配與下面這段代碼正確的圖像:但它不工作

<?php 
    $input = trim($_POST["textarea"]); 

    echo $input; 
    echo "<br />"; 


    $alphabet = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'); 


    while (list(, $value) = each($alphabet) AND list(, $input) = each($value2)) { 
    if(strcmp($value2[0],$value)==0){ 
     echo "<img src='egypt/$value2.png'>"; 
     }else{ 
     echo "You did not write a"; 
     } 
    } 


    ?> 

以上是必需的代碼。

更新:我已經制定了如何匹配輸入的第一個字母與字母表中的任何字母,但仍然努力解決如何映射整個字符串與空間。

<?php 
$input = trim($_POST["textarea"]); 

echo $input; 
echo "<br />"; 

$alphabet = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'); 


    if(strcmp($input[0],$alphabet)==0){ 
    echo "<img src='egypt/$input.png'>"; 
    }else{ 
    echo "Error"; 
    } 


?> 

代碼參照更新的人誰在乎

+0

你爲什麼使用這樣一個複雜的方法實現這種我不明白一個簡單的結果... – animuson 2011-03-10 19:41:51

回答

2

讓我給你建議一個不同的路線。

$fos='hello world!'; 
$cucc=preg_replace('/([a-z])/', '<img src="$1.png" />', $fos); 

這將取代每個字母(AZ),其相當於IMG,所以你會得到這樣的結果:

<img src="h.png" /><img src="e.png" /><img src="l.png" /><img src="l.png" /><img src="o.png" /> <img src="w.png" /><img src="o.png" /><img src="r.png" /><img src="l.png" /><img src="d.png" />! 
0

我不知道這是否會徹底解決你的問題,但我注意到這一點的時候了:

while (list(, $value) = each($alphabet) AND list(, $input) = each($value2))

應成爲:

while (list(, $value) = each($alphabet) AND list(, $value2) = each($input))