Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php网页回显文本_Php - Fatal编程技术网

从php网页回显文本

从php网页回显文本,php,Php,我在网页中有一些文本,我需要在我的php页面中回显 如果文本是这样的 "translatedText":"Ciao mondo" 我使用这个php代码 <?php $tr=translatedText; $Text=file_get_contents("http://mymemory.translated.net/api/get?langpair=en|it&q=Hello%20World!"); $regex = "/".$tr."=\"([^\"]+)\"/"; pr

我在网页中有一些文本,我需要在我的php页面中回显

如果文本是这样的

"translatedText":"Ciao mondo"
我使用这个php代码

<?php 
$tr=translatedText; 
$Text=file_get_contents("http://mymemory.translated.net/api/get?langpair=en|it&q=Hello%20World!"); 
$regex = "/".$tr."=\"([^\"]+)\"/"; 
preg_match_all($regex,$Text,$Match); 
$fid=$Match[1][0]; 
echo $fid; 
?>
但是如果文本是这样的

{"translatedText":"Ciao mondo"}
我没有任何结果 如何提取

再见

从那里输入文本?

使用


使用

输出:

或不带
stdClass

  var_dump(json_decode($var, true));

输出


这种结构是命名的,而不仅仅是字符串

...
$tr = json_decode($Text,TRUE);
echo $tr["translatedText"];
...
您需要验证字符串是否包含在
{..}
中,否则JSON将无效,因此解码将失败

更新

根据收到的JSON,您应该执行以下操作:

$tr = json_decode($Text,TRUE);
echo $tr["responseData"]["translatedText"];
使用,但解码为数组:

<?php
$response = file_get_contents('http://mymemory.translated.net/api/get?langpair=en|it&q=Hello%20World!');
$array = json_decode($response,1);

echo $array['responseData']['translatedText'];

要查看整个数组的外观,可以使用json\U解码:

$Text = json_decode($Text);
echo $Text['translatedText'];
或者假设花括号仅作为字符串的第一个和最后一个字符出现,您可以在
preg\u match\u all
之前尝试此操作:

echo substr($Text, 1, -1);

这看起来像是JSON输出,请尝试PHP的
JSON\u decode()
function我编辑了我的PHP代码。我尝试了你的代码,但没有结果
...
$tr = json_decode($Text,TRUE);
echo $tr["translatedText"];
...
$tr = json_decode($Text,TRUE);
echo $tr["responseData"]["translatedText"];
<?php
$response = file_get_contents('http://mymemory.translated.net/api/get?langpair=en|it&q=Hello%20World!');
$array = json_decode($response,1);

echo $array['responseData']['translatedText'];
var_dump($array);
$Text = json_decode($Text);
echo $Text['translatedText'];
echo substr($Text, 1, -1);