[英]Apply a function from a called JavaScript file to a PHP echo
我已经下载了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>
但是,无论我在哪里添加它,页面都会中断并且不会加载。
我怎样才能做到这一点?
Marc B在评论中可能意味着什么:如果这不是nodejs + php的混合体,那么你就是以错误的方式混合东西。
PHP在服务器端执行,并在您的情况下创建HTML页面。 然后在浏览器中将此页面和引用的JavaScript加载到客户端 。 “toTitleCase()”方法根本不在PHPs执行环境的范围内,而作者“......字符串......”指的是JavaScript字符串,而不是PHP字符串。
由于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>
这可能远非理想,但应该说明如何做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.