最新消息: 新版网站上线了!!!

PHP输出JS格式化字符串函数

这里所谓JS格式化字符串 是指从PHP程序输出的字符串可以直接被用作JS字符串常量,而不会使JS在运行过程中产生语法错误。

在很多时候我们需要调用PHP页面,从PHP页面动态生成JS语句。而往往在些过程中,会遇到需要转换字符串的操作。以下这个函数可以解决这个问题:

function jsoutputformat ($str)
{
	$str = trim ($str);
	$str = str_replace ('\\s\\s', '\\s', $str);
	$str = str_replace (chr(10), '', $str);
	$str = str_replace (chr(13), '', $str);
	$str = str_replace ('	', '', $str);
	$str = str_replace ('\\', '\\\\', $str);
	$str = str_replace ('"', '\\"', $str);
	$str = str_replace ('\\\'', '\\\\\'', $str);
	$str = str_replace ("'", "\'", $str);
	return $str;
}

用法示例:

$output = '
<table width="100%">
	<tr class="head">
		<td width="50%">中国</td>
		<td>中华人民共和国</td>
	</tr>
</table>
';
$output = jsoutputformat($output);
echo "document.write(\"$output\");";

这样格式化后输出的结果如下:

 document.write("<table width=\"100%\"><tr class=\"head\"><td width=\"50%\">中国</td><td>中华人民共和国</td></tr></table>");

JS可能顺利运行。

转载请注明:谷谷点程序 » PHP输出JS格式化字符串函数