通过API将新行编码到youtube视频描述更新中

时间:2013-05-18 09:16:30

标签: php xml youtube-api

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

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

我正在用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的各种组合,这似乎不起作用。

3 个答案:

答案 0 :(得分:0)

检查您正在使用的字符集(代码表)。默认情况下或由您自己设置。 例如ASCII(编码时)或UTF-8(发送和接收数据传输时)。 然后使用PHP函数在它们之间进行转换。例如iconv()。 另见Convert utf8-characters to iso-88591 and back in PHP。 如果使用ASCII,则可以使用函数chr(​​10)插入“换行符”。 以及函数chr(​​13)的'回车'。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

只要它没有标记为 raw ,它就可以被YouTube API简单解析。

您也可以尝试:

'<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元素内,您无需转义它。