我在PHP中有以下代码,它不起作用:
echo "<script language=\"javascript\">
function rebuild_preview(){
var Title = document.getElementById('title').value;
var LYTtitle = document.getElementById('lyt_title');
if (LYTtitle !== null){
document.getElementById('lyt_title').innerHTML = Title.replace(/\r?\n/g, '<br />');
}
}
</script>";
我认为这是因为Title.replace部分中的引号。有人知道处理它的正确方法吗?
答案 0 :(得分:1)
使用PHP CLI进行简单的测试代码
config\database.php
生成此输出
echo "<script language=\"javascript\">
function rebuild_preview(){
var Title = document.getElementById('title').value;
var LYTtitle = document.getElementById('lyt_title');
if (LYTtitle !== null){
document.getElementById('lyt_title').innerHTML = Title.replace(/\r?\n/g, '<br />');
}
}
</script>";
请注意<script language="javascript">
function rebuild_preview(){
var Title = document.getElementById('title').value;
var LYTtitle = document.getElementById('lyt_title');
if (LYTtitle !== null){
? document.getElementById('lyt_title').innerHTML = Title.replace(/
/g, '<br />');
}
}
像这样修改你的.replace
,它会起作用
document.getElementById
请注意转义document.getElementById('lyt_title').innerHTML = Title.replace(/\\r?\\n/g, '<br />');
和\\r
答案 1 :(得分:0)
尝试使用双反斜杠,一个用于php,一个用于javascript。
Title.replace(/\\r?\\n/g, '<br />');