jstewmc/rtf-token

富文本格式(RTF)标记

v0.1.0 2016-12-10 21:13 UTC

This package is auto-updated.

Last update: 2024-08-29 04:19:57 UTC


README

富文本格式(RTF)标记。

namespace Jstewmc\RtfToken;

$open    = new Group\Open();
$control = new Control\Word('foo');
$text    = new Text('bar');
$close   = new Group\Close();

echo $open . $control . $text . $close;

上面的示例将输出以下内容

{\foo bar}

标记

这个库包括富文本格式(RTF)语言的标记,包括

  • 开放组(例如,{),
  • 关闭组(例如,}),
  • 控制词(例如,\b),
  • 控制符号(例如,\*),
  • 文本(例如,foo),以及其他
  • (例如,\0)。

每个标记的性质不同,但所有标记都实现了 _toString() 魔法方法。

这个库支持两种组标记:Group\OpenGroup\Close。它们没有属性

namespace Jstewmc\RtfToken\Group;

(string) (new Open());   // returns "{"
(string) (new Close());  // returns "}"

控制

这个库支持 控制词控制符号 标记。

默认情况下,控制标记由空格分隔。但是,可以使用 setIsSpaceDelimited() 方法关闭此功能。

控制词

控制词标记有一个 和(可选)整数 参数 属性

namespace Jstewmc\RtfToken\Control;

$word = new Word('b', 0);

$word->getWord();       // returns "b"
$word->getParameter();  // returns 0

(string) $word;  // returns "\b0 "

$word->setIsSpaceDelimited(false);

(string) $word;  // returns "\b0" (note, no space)

控制符号

控制符号标记有一个 符号 和混合 参数 属性

namespace Jstewmc\RtfToken\Control;

$symbol = new Symbol('\'', 99);

$symbol->getSymbol();     // returns "'"
$symbol->getParameter();  // returns 99

(string) $symbol;  // returns "\'99 "

$symbol->setIsSpaceDelimited(false);

(string) $symbol;  // returns "\'99" (note, no space)

文本

文本标记有一个单一的 文本 属性

namespace Jstewmc\RtfToken;

$text = new Text('foo');

$text->getText();  // returns "foo"

(string) $text;  // returns "foo"

其他

"其他"标记存在,用于任何不是 开放组关闭组控制词控制符号文本 标记的字符。通常,这包括换行符 ("\n")、回车符 ("\r") 等特殊字符。

"其他"标记有一个单一的 字符 属性

namespace Jstewmc\RtfToken;

$other = new Other("\n");

$other->getCharacter();  // returns "\n"

(string) $other;  // returns "\n"

就这么多!

作者

Jack Clayton

版本

0.1.0,2016年12月10日

  • 首次发布