\n 换行符不属于 . text.replace(/(\".*?\")/g 即你的 .* 是不包含换行符的, 改一种写法:
text.replace(/(\"[^\"]*?\")/g
text.replace(/(\"[^\"]*?\")/g
解决方案 »
- extjs中的grid不显示问题
- 实现一个下拉框输入内容进行模糊查询的功能
- 帮忙改一个正则表达式
- js变量连接的问题
- 用<input type="file"上传文件,如何传递参数给处理上传页?
- 取别的页面的内容
- jquery+json+struts2整合中文乱码问题
- 一个frame的滚动条来控制两个frame的内容同时滚屏
- 当漂浮的图片漂过FLASH文件时候,漂浮的图片总在FLASH动画之下.
- js控制media player的补充?
- JavaScript怎么取得tomcat下app的路径
- 用multipart/form-data格式提交的表单,它的二进制数据的格式是怎样的? 哪位大虾说说呢。
var bb_code_li_2 = '</li>';
var text = document.all.CODE.innerHTML;
text = text.replace(/<br>/gi, "\n");
text = text.replace(/(\"(.|\n)*?\")/g, "<font color=red>$1</font>");
text = text.replace(/(\'.*?\')/g, "<font color=red>$1</font>");
text = text.replace(/([^color]=|\(|\)|,)/gi, "<font color=green>$1</font>");
text = text.replace(/(\/\*(\n|\t|.)*\*\/)/gi, "<font color=#ff9900>$1</font>");
text = text.replace(/\n/g, "\n" + bb_code_li_2 + bb_code_li_1);
text = '<ol><li>' + text + '</ol>';
document.all.CODE.innerHTML = "<font color=#0000ff>"+text+"</font>";
#CODE { padding-right: 0.5em; margin-top: 1em; font-size: 9pt; margin-bottom: 1em; margin-left: 0pt; padding-top: 0.5em; font-family: Courier New; background-color: #FFFFFF; color: #465584; border:1px solid #000000; border-left:6px solid #666666; }
</style>
<table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr>
<td id='CODE'><?php<br>
/*hello<br>
*/<br>
$string = implode("\n", $array);//拆分<br>
$fp = fopen("test.txt", "w");<br>
#写入<br>
fwrite($fp, $string);<br>
$abc = "keysdf = sdf (sdf)<br>
sdkfjsdf klj l sdfj <br>
abc
"; <br>
?>
</td>
</tr></table><script language="javascript">
var bb_code_li_1 = '<li>';
var bb_code_li_2 = '</li>';
var text = document.all.CODE.innerHTML;
text = text.replace(/<br>/gi, "\n");
text = text.replace(/(\"(.|\n)*?\")/g, "<font color=red>$1</font>");
text = text.replace(/(\'.*?\')/g, "<font color=red>$1</font>");
text = text.replace(/([^color]=|\(|\)|,)/gi, "<font color=green>$1</font>");
text = text.replace(/(\/\*(\n|\t|.)*\*\/|\/\/.*\n|#.*\n)/gi, "<font color=#ff9900>$1</font>");
text = text.replace(/\n/g, "\n" + bb_code_li_2 + bb_code_li_1);
text = '<ol><li>' + text + '</ol>';
document.all.CODE.innerHTML = "<font color=#0000ff>"+text+"</font>";
//alert(text);
</script>
不好意思,再看看。
对正则不是很熟悉。
除了上面说的问题之外,
还有在引号或者单引号中的=号和其它号不应该被替换,如何搞定好呢?
多谢了。
语法高亮还是挺麻烦的,简单的正则替换我认为实现不了。highlight_string();
highlight_file();
看看这两个函数
只是想试着用JS来试试看。
这样子离开PHP也能为PHP代码着色了。