问题标签 [nowdoc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
162 浏览

php - 如何在字符串中编写 PHP 语法

我尝试编写一些内容以写入 php 文件,并在我的 $content 变量中使用 Heredoc 和 nowdoc,但 php 标签似乎不起作用并且仍然显示。

有任何想法吗 ?

0 投票
1 回答
1346 浏览

php - Laravel 数据库种子中的 Heredoc

我正在尝试在 laravel 中创建一个数据库种子,它使用 heredoc 将 xml 结构设置为变量,然后将该变量用作种子中的值之一:

当我运行播种机时,我从工匠那里收到一条错误消息:

我知道这searchValue是在 xml 代码中:

似乎数据库播种器正在将 xml 文档作为代码而不是 heredoc 字符串读取。有没有办法阻止播种机读取 xml?有没有更好的方法将 xml 包含在种子中?

将 xml 包含在种子中并不是必须的,但最好在其他开发人员的设置过程中保留一个额外的步骤。

0 投票
1 回答
699 浏览

php - PHP str_replace 找不到多行 NOWDOC 文本

我的理解是在 PHP(v5.3 及更高版本)中使用 NOWDOC 功能,不需要转义字符。

我正在尝试查找和替换 PHP 文件中的文本。正文是:

此文本确实出现在目标 PHP 文件中,但未str_replace找到。也没有str_pos(我正在使用它进行测试)。

我想知道这是否是由于字符串中的特殊字符造成的,但是如果我单独执行 astrposstr_replace为它们单独执行每一行,例如...

...按我的预期工作。

似乎是多行导致问题,但 HEREDOC 和 NOWDOC 的全部意义在于它们能够将多行文本放入一个变量中。

我的搜索和替换字符串是:

如果有任何区别,我将使用file_get_contents.

0 投票
0 回答
160 浏览

php - Nowdoc 解析错误:语法错误,意外的 T_SL

第一行是抛出错误的那一行。我在 100 多个网站上运行此代码,但我有一位客户报告此错误。

nowdoc 'DEFAULT_POST' 之后没有空格。

客户说他正在运行 PHP 5.3.29(nowdoc 在 5.3.0 中引入)。

所以现在我很茫然。寻找关于这可能是什么的其他想法......

0 投票
1 回答
94 浏览

php - 使用heredoc或nowdoc仅解析一些变量

使用 heredoc 或 nowdoc,我如何创建 $sting?

PS。我知道像这样的脚本的滑坡

0 投票
1 回答
92 浏览

php - 解释变量但忽略 PHP HEREDOC 中的转义序列

我试图弄清楚如何使用 HEREDOC 语法来解释变量但忽略反斜杠字符。或者使用 NOWDOC 语法来解释变量。我正在尝试做的一个例子:

我想忽略所有斜杠,但解释变量 $title 和 $date。有没有办法在不退出 HEREDOC 或 NOWDOC 块的情况下做到这一点?

0 投票
1 回答
110 浏览

php - 函数内的nowdoc

我有一些想要转换为函数的 PHP 代码。不幸的是,该代码使用 nowdoc 为 sprintf() 调用创建格式字符串。这带来了格式上的困境,因为这意味着我不能缩进结束标识符以匹配函数布局。nowdoc 是一个 HTML 片段,因此我可以删除所有换行符并将其视为一个简单的字符串变量,但这会使代码更难阅读。另一种方法是使用 nowdoc 在全局范围内创建格式字符串,并将生成的字符串传递给函数。有什么方法可以使用 nowdoc 并保持我的正常格式样式?

0 投票
1 回答
30 浏览

php - PHP我们一个字符串变量作为函数的参数

我正在尝试将变量设置为字符串,然后在 while 循环函数中使用该变量。

在评估时,我希望它看起来像这样:

如果我手动输入语法,它可以正常工作,但变量表示为字符串。任何帮助是极大的赞赏。

0 投票
2 回答
67 浏览

php - 为什么我的本地 PHP 函数看不到 $test 变量,如何获取它的值?

我正在使用 PHP HereDoc 和 NowDoc 语句在我的网站中构建网页,HereDocs 用于需要将 PHP 变量值替换到网页中的部分,NowDocs 用于使用$字符指定 jQuery的部分我的 JavaScript 中的语句和 jQuery 对象变量。但是,这使我的 HTML、CSS 和 JavaScript/jQuery 难以阅读和维护。

为了解决这个问题,我想我会编写一个替换函数来执行 HereDoc 语句所做的 PHP 变量替换,但对于变量,其值是由字符串表达式或 NowDoc 语句分配的。这样,字符串中由${ variable-name }指定的 PHP 变量将被替换为它们的值,并且 jQuery 语句和$前缀变量的值应该是 jQuery 对象不会替换 PHP 变量,否则通常会导致没有名称与 jQuery 语句或变量名称匹配的 PHP 变量时 PHP 编译器错误,或者当名称匹配时出现运行时逻辑错误。

这是我的代码和一个测试 NowDoc:

  • 将包含${test} PHP 变量的长字符串分配给 PHP 数组变量中的元素,然后
  • 将数组作为参数传递给我的 NowHereDoc 函数以执行 PHP 变量/值替换。

但是,当我运行以下代码来构建我的网页时,$test PHP 变量在函数内部不可见,并且替换为 NULL 而不是所需的值。

如何通过指定为字符串值的名称访问 PHP 变量,这些名称在函数中调用 NowHereDoc 函数的全局或局部变量,而无需将它们作为参数传递或将它们指定为函数中的全局变量?我记得看到一个 PHP 库函数可以返回一个给定名称作为字符串的值,但我不记得函数的名称。

谢谢