从php网页回显文本
我在网页中有一些文本,我需要在我的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
"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);