js不支持换行的长文本写法,必需要一行行的加起来
var content = '<div>row 1</div>'
+ '<div>row 2</div>';
而不可以写成:
var content = '<div> row 1</div>
<div>row2 </div> ';
于是小加工php小段代码,简化手工打的操作。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Str To Js String</title>
<style type="text/css">
.content-box { border: 1px #f0f0f0 slid; border-left: 4px #e0e0e0 solid; padding: 5px 5px 5px 10px; }
</style>
</head>
<body>
<h1>输入格式化的文本:</h1>
<?php
$jsContent = '';
if (isset($_POST['content']) && $_POST['content']) {
$content = strtr(htmlspecialchars($_POST['content']), array( "\r\n" => "\n" ));
$rows = explode("\n", $content);
foreach ($rows as $row) {
$jsContent .= '+ \''.$row."'<br/>";
}
}
?>
<form action="#" method="post">
<textarea name="content" style="width: 99%;height: 300px; "></textarea>
<p><input type="submit" value="提交"/></p>
</form>
<h2>格式化后的结果:</h2>
<div class="content-box">
<?php echo $jsContent; ?>
</div>
</body>
</html>