如何将多字符串作为在php中的url中使用的变量传递

时间:2014-04-14 14:08:49

标签: php mysql html5 forms audio

我正在制作一个语音词典。 这是我的代码。它工作正常,没有错误,但只是一个小问题。走向终点是我遇到问题的地方。

http://tts-api.com/tts.mp3?q=$z “;?>” 中type =“audio / mp3”/>

$ x和$ y变量包含一个单词..所以它们很容易转换为语音而无需编码,我的代码可以正常工作。但是当我写$ y存储意义时,语音输出不存在,因为意义包含必须首先编码的多字符串(但我不知道如何编码)。

Plz告诉我为了将意义部分从文本转换为语音,我必须做些什么改变。

我试过了 http://tts-api.com/tts.mp3?q=.urencode($y)“;?>” type =“audio / mp3”/>

但它没有用。 PLZ帮助

<html>
<head>
<title>Word meanings</title>
<?php
mysql_connect("localhost", "root", "radhika");
mysql_select_db("dictionary");
if(isset($_POST['Submit1']))
{

 $req=$_REQUEST['word'];
 $strSQL = "SELECT * FROM dict WHERE word='$req'";
 $rs = mysql_query($strSQL);
 while($row = mysql_fetch_array($rs))
 {
        $x=$row["word"];
    $y=$row["meaning"];
    $z=$row["synonym"];
    echo "<b>Word</b>: " . $x ."<br/>" ;
    echo "<b>Meaning</b>: " . $y ."<br/>" ;
    echo "<b>Synonym</b>: " . $z ."<br/>" ;
  }
 }
 mysql_close();
 ?>

</head>
<body>
<form name="form1" action="lastry.php" method="POST">
<input type="text" name="word" value="<?php echo isset($_POST['word'])?$_POST['word']:''?>"x-webkit-speech/>
<Input Type ="Submit" Name ="Submit1" Value ="submit"> 
</form>
<?php  if($_POST)
{
?>

<audio controls="controls" autoplay="autoplay">
<source src="<?php echo "http://tts-api.com/tts.mp3?q=$z";?>" type="audio/mp3" />
</audio>
<?php }?>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

我建议您最初尝试使用URLencode功能,并告诉我们结果:

e.g。

urlencode($z)

代替任何可能包含空格/特殊字符的变量。

答案 1 :(得分:0)

尝试

http://tts-api.com/tts.mp3?q=<?php echo urlencode($y);?>&type="audio/mp3" />