0

可能重复:
PHP <<<EOB

我在一个 php 文件中看到了下面这段代码,有人可以解释一下 <<< st 是什么意思吗?

$status['caption']=<<<ST

ST;

Ps:我真的不能谷歌它,相信我:D


如果这是一个 XML 文档,那么您可以只使用 XPath 来选择Run元素并将属性添加到所选元素。这是比使用 Regex 更好的选择。

尝试这样的事情:

string txtAttributeName = "Text";
foreach(XmlNode element in xmlDocument.SelectNodes(".//Run")
{
    if (element.Attributes.GetNamedItem(txtAttributeName) == null)
    {
        XmlAttribute txtAttribute = xmlDocument.CreateAttribute(txtAttributeName);
        txtAttribute.Value = "Whatever you want to place here";

        element.Attributes.Append(txtAttribute);
    }
}

注意:我还没有测试过这个,但它应该给你一个好主意。

4

5 回答 5

5

这被称为heredoc字符串。

于 2012-10-19T21:10:18.133 回答
4

这是一种存储多行字符串的方法。(称为 Heredoc 语法)

$string = <<<IDENTIFIER



IDENTIFIER;

中间的所有行都存储为字符串。用于长长的文字墙。此处对其进行了描述。

于 2012-10-19T21:09:21.220 回答
4

它被称为 Heredoc 语法: http ://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

它对多行字符串和包含双引号和单引号的字符串很有帮助。作为双引号,Heredoc 解释了许多特殊字符的转义序列。

于 2012-10-19T21:10:26.490 回答
3

<<< 运算符代表heredoc 语法。这是一种以自然方式编写字符串的方法。

http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

于 2012-10-19T21:10:31.337 回答
0

这是一个heredoc 字符串(“文本块”)。

之间的一切<<<ST and ST;将在写入时输出。因此,您可以放置​​一些您想要输出的 HTML 并保存一堆 print() 语句,或者像使用$variable = " textity text text text";命令一样保存转义字符的工作。

来自 php 网站:Heredoc 文本的行为就像一个双引号字符串,没有双引号。这意味着不需要对heredoc 中的引号进行转义,但仍然可以使用上面列出的转义码。变量是扩展的,但是在 heredoc 中表达复杂变量时必须像使用字符串一样小心。

于 2012-10-19T21:12:30.180 回答