我该怎么做?将the_content()存储到变量中。我尝试了什么:
<script type="text/javascript">
window.the_content = "<?php the_content(); ?>";
</script>
和这个
<?php
ob_start();
the_content();
$content = ob_get_clean();
?>
<script type="text/javascript">
window.the_content = "<?php echo $content; ?>";
</script>
问题在于它是一个多行字符串,它不能存储为javascript变量。我试着修剪()chop()htmlentities_decode()字符串,但它没用。
我知道有一个函数<?php echo get_the_content(); ?>
可以取消html标签,但空格和换行符仍然存在。我希望能够通过jquery解析the_content()。
复制Google Chrome开发者工具输出的粘贴:
window.the_content = "<h1>Welcome to dasqwe tsqwe dwemo site</h1>
<p> </p>
<p>asdioquwidqwd</p>
<p>qwdoqwkdpqkwdkoqpwodkqwodpqwd</p>
<p>qwdkpoqwkdpqwokdpqwokdpqwkdpqwodkq</p>
<p>wdqwodkqpowkdpqwkdpqwkdopqwkdoq</p>
<p>wdqkowpdkqwpokdpoqkwdpqowkdpoqwkdqwd</p>
<p><span id="more-13"></span></p>
<h1>Page 2</h1>
<p>qwiodjiqwjdqiowjdioqwjdiqwd</p>
<p>qwdjoqwijdoqiwjdioqwjiodjqwodjqowdijas</p>
<p>dqoijwdioqjwdoqjwiodjqwodjqwdjasdqwodijqowdjqiowjdoqjdoad</p>
<p>qwodiqwjdoiqwdijoqwdqwiqiodijoqwdjiqwq</p>
<p> </p>
";
答案 0 :(得分:0)
请将所有换行符替换为<br/>
:
<script type="text/javascript">
window.the_content = "<?php
ob_start();
the_content();
$content = ob_get_clean();
echo str_replace("\n","<br/>", str_replace("\r", "", $content));
?>
</script>
在JS方面:
$( '.content' ).the_content);
答案 1 :(得分:0)
尝试使用json_encode
,它应该会逃脱大部分会破坏的字符
<?php
ob_start();
the_content();
$data = ob_get_contents();
ob_end_clean();
?>
window.the_content = <?php echo json_encode($data); ?>;
您也可以删除新行
window.the_content = "<?php str_replace("\n","",the_content()); ?>";
请注意,您必须执行其他操作以确保它不会中断,例如转义双引号等。
答案 2 :(得分:0)
PHP端的JSON编码和Javascript端的解码将为您处理。
<?php
ob_start();
the_content();
$content = ob_get_clean();
?>
<script type="text/javascript">
window.the_content = <?php echo json_encode($content); ?>;
</script>