0

我正在尝试通过 API 以编程方式更新我的 youtube 频道上的大量视频,因为我还想将视频信息存储在我的网站数据库中。

一切正常,除了我在描述字段中渲染新行时遇到了真正的麻烦。

我正在以 html 形式编写描述,但是我想在每个视频中添加一个段落,因此我在 XML 请求数据中添加了如下内容:

'<media:description type="plain">'.$form->description." \n\n ".'This is the text I want automatically added to each video.
</media:description>'

我的表单数据中的新行很好,它只是最后一段之前的新行。

我尝试了 \n 和 \r 的各种组合,但这似乎不起作用。

4

3 回答 3

0

Check which character sets (code tables) you are using. Either by default or set by yourself. For example ASCII (when coding) or UTF-8 (when sending and receiving data transfers). Then use a PHP function to convert between them. For example iconv(). See also Convert utf8-characters to iso-88591 and back in PHP . If using ASCII then you can insert a 'newline' with the function chr(10). And a 'carriage return' with the function chr(13).

于 2013-05-18T10:26:39.217 回答
0

我找到了一种方法:只需使用 PHP_EOL 来编码换行符 ;-)

于 2013-10-01T20:59:26.467 回答
0

您是否尝试过将其放入CDATA元素中?

'<media:description type="plain"><![CDATA[' . $form->description . "\n\n" .
'This is the text I want automatically added to each video.]]></media:description>'

也许它只是被 YouTube API 解析掉了,只要它没有被标记为raw

你也可以试试:

'<media:description type="plain"><![CDATA[' . $form->description . '<br/><br/>' .
'This is the text I want automatically added to each video.]]></media:description>'

...如果 API 支持 HTML 格式。通过将其放在CDATA元素中,您无需转义它。

于 2013-10-01T21:28:19.990 回答