将一个名为JavaScript的文件中的函数应用于PHP echo

时间:2016-07-26 15:09:15

标签: javascript php

我已下载JS To Title Case以申请我的网站。它像报纸一样大写文本字符串。 我在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>

但是,无论我在哪里添加它,分页都会加载。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

Marc B在评论中可能意味着什么:如果这不是nodejs + php的混合体,那么你就会以错误的方式混合东西。

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

那些&#34;没有加载&#34;由于PHP错误(如果您没有设置错误报告,则可能无法显示)。

解决问题的一种方法是通过PHP生成JS代码,这将在客户端加载时执行。它应该看起来像,假设get_inspiry_custom_excerpt和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>

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