键入时PHP变量读数不同

时间:2013-01-04 18:55:31

标签: php variables

我遇到了一个非常不寻常的问题。当我使用此脚本发布到Blogger时,它实际上在我实际键入博客ID时非常有效,例如

$blogID = '2542513707206115453';

但是当我让脚本自动刮掉博客ID时,即使脚本正在拼写与我正在输入的完全相同的数字,它也会让我错误地讨论无效的uri

require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_Query');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');

$blog = file_get_contents($link.'/feeds/posts/default');
preg_match('/tag:blogger.com,1999:blog-(.*?)-/', $blog, $blogID);
$blogID = rtrim($blogID[1], date("Y"));


$service = 'blogger';
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service, null,
    Zend_Gdata_ClientLogin::DEFAULT_SOURCE, null, null,
    Zend_Gdata_ClientLogin::CLIENTLOGIN_URI, 'GOOGLE');

$gdClient = new Zend_Gdata($client);


$entry = $gdClient->newEntry();
$entry->title = $gdClient->newTitle($title);
$entry->content = $gdClient->newContent($body);
$entry->content->setType('text');  
$uri = 'http://www.blogger.com/feeds/'.$blogID.'/posts/default';
$createdPost = $gdClient->insertEntry($entry, $uri);
$idText = split('-', $createdPost->id->text);
$newPostID = $idText[2];

我不知道这是怎么发生的,因为$blogID是完全相同的数字,无论是否被刮掉或是否打字​​。是的,我有双倍和三倍检查,当刮,它是完全相同的数字。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

这次电话有什么意义?

$blogID = rtrim($blogID[1], date("Y"));

rtrim中的第二个选项指定应从字符串末尾修剪哪些字符。由于您使用的是日期(目前为2013),因此您要尝试从中删除任何2013个字符。字符串。

这意味着,给你的

$blogID = '2542513707206115453';

你最终会以

结束
$blogID = '254251370720611545';
                             ^--- see? no 3

相同的数字