如何在PHP中从CURL中删除多余的符号


How to remove extra symbols from CURL in PHP?

我对套接字有一个简单的CURL请求,它返回进程pid。问题是有一些额外的字符/符号是看不见的。我的代码是:

for ($i = 0; $i < 3; $i++ ) {
    $ch = curl_init($server);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, '<ping></ping>');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 400);
    $output = array(
        'result' => curl_exec($ch),
        'info' => curl_getinfo($ch),
        'error' => curl_error($ch)
    );
    curl_close($ch);
    var_dump($output['result']);
    var_dump(trim($output['result']));
    var_dump($pid);
    echo "----------------'n";
    if (trim($output['result']) == $pid)
        die('TRUE');
    sleep(2);
}

die('FALSE');

输出看起来像:

bool(false)
string(0)"
字符串(5)
"14262"
----------------
string(7)"14262"
string(7----------------
string(7)"14262"
string(7----------------
错误

尝试使用。

if (strcmp(trim($output['result']), $pid) == 0)
    die('TRUE');

使用preg-replace替换除数字之外的每一个字符,然后强制转换为整数

$output['result']) = intval(trim(preg_replace('/[^0-9]+/', '', $output['result']))));

[^0-9]+的意思不是数字