我在JavaScript文件中运行PHP,例如......

var = '<?php /*some code*/ ?>';).

我需要使用JavaScript来扫描PHP分隔符的字符串(<?php和?>打开和关闭PHP)。

我已经使用JavaScript了解代码...

if (b.value.indexOf('<?php')>-1) {alert('PHP delimiter found.');}

我遇到的问题是我需要保持PHP在JavaScript文件中解释的能力(没有例外)。 我只需要在JavaScript中将分隔符字符串输出到客户端,而不必由服务器解释它们。

所以最终输出(来自客户的视图)将是......

if (b.value.indexOf('<?php')>-1) {alert('PHP delimiter found.');}

使用以下代码...

if (b.value.indexOf('<?php echo '<?php'; ?>')>-1 || b.value.indexOf('<?php echo '?>'; ?>')>-1)

我收到错误:“解析错误:语法错误,意外的T_LOGICAL_AND”

===============>>#1 票数:2

Javascript永远不会在你的字符串中找到<?php ,因为它们已经被PHP服务器解析了。 Javascript是一个客户端脚本,在服务器端脚本之后执行。

===============>>#2 票数:1 已采纳

您可以利用Javascript将十六进制解析为字符的能力:

if (b.value.indexOf('<\x3fphp')>-1) {alert('PHP delimiter found.');}

在Java '<\\x3fphp''<?php'完全相同,但是在PHP中没有意义。

===============>>#3 票数:0

在PHP上使用输出缓冲,然后在缓冲输出上使用htmlspecialchars()。 然后,您使用JavaScript搜索HTML实体。

===============>>#4 票数:0

我想到的第一件事应该是这个简单,小小的“作弊”:

<?php echo '<'.'?php'; ?>

php解释器没有看到<?php ,但输出是所希望的。

===============>>#5 票数:0

<?php echo '<?php'; ?> <?php echo '<?php'; ?> ... <?php echo '?>'; ?> <?php echo '?>'; ?>

  ask by John translate from so

未解决问题?本站智能推荐: