Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将调用的JavaScript文件中的函数应用于PHP回显_Javascript_Php - Fatal编程技术网

将调用的JavaScript文件中的函数应用于PHP回显

将调用的JavaScript文件中的函数应用于PHP回显,javascript,php,Javascript,Php,我已经下载了JS以应用于我的站点。它像报纸一样将文本字符串大写。 我在PHP文件的开头调用它: <script src="../../js/to-title-case.js"></script> 我想在这个字符串中添加.toTitleCase(),因此它将JS应用于标题: <?php echo get_inspiry_custom_excerpt( get_the_title(), 7 ); ?> PHP是以下内容的一部分: <h4 clas

我已经下载了JS以应用于我的站点。它像报纸一样将文本字符串大写。 我在PHP文件的开头调用它:

<script src="../../js/to-title-case.js"></script>

我想在这个字符串中添加.toTitleCase(),因此它将JS应用于标题:

<?php echo get_inspiry_custom_excerpt( get_the_title(), 7 ); ?>

PHP是以下内容的一部分:

<h4 class="entry-title"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php echo get_inspiry_custom_excerpt( get_the_title(), 7 ); ?></a></h4>

但是,无论我在哪里添加它,页面都会断开并且不会加载


我该怎么做呢?

Marc B在评论中可能的意思是:如果这不是nodejs+php的混合,那么你的混合方式是错误的

PHP在服务器端执行并在您的案例中创建HTML页面。然后将此页面和引用的JavaScript加载到浏览器的客户端。“toTitleCase()”方法根本不在PHPs执行环境的范围内,作者“…字符串…”指的是JavaScript字符串,而不是PHP字符串

由于PHP错误(如果没有设置错误报告,则可能不会显示)而导致“未加载”的页面

解决问题的一种方法是通过PHP生成JS代码,该代码将在客户端加载时执行。假设get_inspiry_custom_extract和get_the_title是真正的PHP函数,那么它应该是这样的:

<h4 class="entry-title">
  <a href="<?php the_permalink(); ?>" rel="bookmark" id="custom_excerpt">
    <?php echo get_inspiry_custom_excerpt( get_the_title(), 7 ); ?>
  </a>
</h4>
<script>
  var element = document.getElementById('custom_excerpt');
  var text = element.innerText || element.textContent || '';
  element.innerHTML = text.toTitleCase();
</script>

var element=document.getElementById('custom_extract');
var text=element.innerText | | element.textContent | |“”;
element.innerHTML=text.toTitleCase();
  • JS借用自

这可能远不理想,但应该说明如何做到这一点。

Marc B在评论中可能的意思是:如果这不是nodejs+php的混合,那么你的混合方式是错误的

PHP在服务器端执行并在您的案例中创建HTML页面。然后将此页面和引用的JavaScript加载到浏览器的客户端。“toTitleCase()”方法根本不在PHPs执行环境的范围内,作者“…字符串…”指的是JavaScript字符串,而不是PHP字符串

由于PHP错误(如果没有设置错误报告,则可能不会显示)而导致“未加载”的页面

解决问题的一种方法是通过PHP生成JS代码,该代码将在客户端加载时执行。假设get_inspiry_custom_extract和get_the_title是真正的PHP函数,那么它应该是这样的:

<h4 class="entry-title">
  <a href="<?php the_permalink(); ?>" rel="bookmark" id="custom_excerpt">
    <?php echo get_inspiry_custom_excerpt( get_the_title(), 7 ); ?>
  </a>
</h4>
<script>
  var element = document.getElementById('custom_excerpt');
  var text = element.innerText || element.textContent || '';
  element.innerHTML = text.toTitleCase();
</script>

var element=document.getElementById('custom_extract');
var text=element.innerText | | element.textContent | |“”;
element.innerHTML=text.toTitleCase();
  • JS借用自

这可能远不理想,但应该说明如何做到这一点。

href=”“您不需要转义引号吗?说明您是如何添加的。。。你不能从JS调用PHP函数,PHP也不能(直接)调用JS函数。JS创建者说“只需包含JS并将.toTitleCase()添加到你想要转换的字符串中。”因此我添加了如下内容:href=”“你不需要转义引号吗?展示你是如何添加它的。。。你不能从JS调用PHP函数,PHP也不能(直接)调用JS函数。JS创建者说“只需包含JS并将.toTitleCase()添加到你想要转换的字符串中。”所以我这样添加它:谢谢Maka!我正在学习PHP和JS,我仍然感到困惑。谢谢你,Maka!我正在学习PHP和JS,但仍然感到困惑。