2011-03-10 153 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))