Магические цитаты в 5.5

Согласно документации у меня не должно быть волшебных кавычек, но у меня есть. Я строю веб-сайт с тонким каркасом. Я пытаюсь создать XML-создатель для моего RSS-канала, и вызов API выглядит следующим образом:

function createRSS($dbh, $args) {

  $xml = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
  $xml = $xml."<rss version=\"2.0\">\n";
  $xml = $xml."\t<channel>\n";
  $xml = $xml."\t\t<title>".$args['title']."</title>\n";
  $xml = $xml."\t\t<link>".$args['link']."</link>\n";

  $xml = $xml."\t\t<image>\n";
  $xml = $xml."\t\t\t<url>".$args['imageURL']."</url>\n";
  $xml = $xml."\t\t\t<title>".$args['imageTitle']."</title>\n";
  $xml = $xml."\t\t\t<link>".$args['link']."</link>\n";
  $xml = $xml."\t\t</image>\n";

  $xml = $xml."\t\t<description>".$args['description']."</description>\n";
  $xml = $xml."\t\t<language>".$args['language']."</language>\n";
  $xml = $xml."\t\t<category>".$args['category']."</category>\n";
  $xml = $xml."\t\t<copyright>".$args['copyright']."</copyright>\n";
  $xml = $xml."\t\t<lastBuildDate>".$args['lastBuildDate']."</lastBuildDate>\n";
  $xml = $xml."\t\t<ttl>".$args['ttl']."</ttl>\n";

  $xml = $xml."\t</channel>\n";
  $xml = $xml."</rss>\n";

  try { 

    $xml = simplexml_load_string($xml);
    $result['xmlString'] = print_r($xml);
    $result['args'] = $args;

    $file_path = stripslashes("/_rss/_profile/_".$args['profile']."/rss_".$args['profile'].".xml");
    $result['xmlLink'] = $file_path;
    $result['test'] = '/hey/there';

    return $result;
  }
  catch (Exception $e) {
    $result['error'] = "1";
    $result['message'] = $e->getMessage();

    return $result;
  }
}

$app->post('/api/createRSS', function() use ($dbh) {
  $args['user'] = $_POST['user'];
  $args['title'] = $_POST['title'];
  $args['link'] = $_POST['link'];
  $args['description'] = $_POST['description'];
  $args['language'] = "en-us";
  $args['copyright'] = $_POST['copyright'];
  $args['creationDate'] = "11/03/1993";
  $args['ttl'] = "340";
  $args['imageURL'] = $_POST['imageURL'];
  $args['imageTitle'] = $_POST['imageTitle'];
  $args['category'] = $_POST['title'];

  echo print_r($args);

  echo json_encode(createRSS($dbh, $args));

});

Результат вызова API выглядит следующим образом:

Array
(
    [user] => 1
    [title] => 2
    [link] => 3
    [description] => 4
    [language] => en-us
    [copyright] => 5
    [creationDate] => 11/03/1993
    [ttl] => 340
    [imageURL] => 
    [imageTitle] => 8
    [category] => 2
)
1SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [version] => 2.0
        )

    [channel] => SimpleXMLElement Object
        (
            [title] => 2
            [link] => 3
            [image] => SimpleXMLElement Object
                (
                    [url] => SimpleXMLElement Object
                        (
                        )

                    [title] => 8
                    [link] => 3
                )

            [description] => 4
            [language] => en-us
            [category] => 2
            [copyright] => 5
            [lastBuildDate] => SimpleXMLElement Object
                (
                )

            [ttl] => 340
        )

)
{"xmlString":true,"args":
{"user":"1","title":"2","link":"3","description":"4",
"language":"en-us","copyright":"5","creationDate":"11\/03\/1993",
"ttl":"340","imageURL":null,"imageTitle":"8","category":"2"},
"xmlLink":"\/_rss\/_profile\/_\/rss_.xml","test":"\/hey\/there"}

Большая проблема состоит в том, что моя ссылка в xmlLink имеет добавленные косые черты, которые не позволяют мне перейти к нужному файлу. Я напечатал ответ phpInfo, и он выглядит так:

PHP Version 5.5.9-1ubuntu4.14

Я понятия не имею, что происходит, и все говорят, что это не должно быть проблемой в 5.5. Благодарю.

0 ответов

Другие вопросы по тегам