请问使用正则匹配后,如何保留换行? 本帖最后由 winsongood 于 2010-09-21 09:06:58 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般情况下回车换行符在html中是无效的,你可以通过查看源文件来确认这一点显示到页面时刻通过预定义格式标记if(!empty($match)) { echo '<pre>'; foreach($match as $r) { echo $r; } echo '</pre>';} 哦,真是不好意思,其实我原来的代码就是想查找在 <pre> 里的代码,我换成 <code> 只是想更明白些,以下是我的完整代码:$content = '<pre class=php> public class Tester { //To do list... }</pre>'preg_match_all('/<code[^>]*>([\s\S]*?)<\/code>/i', $content, $result); $match = array_unique($result[1]);if(!empty($match)) { foreach($match as $r) { echo $r; }}请问这种情况下,还是用你的方法的话,最终出来不就会有2个pre了?而且我就算这样套在pre里,格式好像也不能保留哦 preg_match_all('/<pre[^>]*>([\s\S]*?)<\/pre>/i', $content, $result);如果你原来里面有换行匹配出来的就是有换行的。还有一种可能你看到的是换行,实际上只是\r,并不是window需要的\r\n 是的,是的,就是 \r 这类字符,但应该如何保留下来呢?我用正则测试软件找出来的结果是[CR][LF]public...这类东西,就是不知道在PHP里要如何保留下来 呵,已解决了,是我自己的问题,原来替换时同时将 <pre> 等标签也替换了,还是CunningBoy说的正确的,只有套在 <pre> 里才可保留格式 判断搜索引擎来路进行跳转的代码 PHP手册中关于匿名函数的一段话不理解,请帮忙看下: session_start() utf-8 问题 这个查询有点问题 如果在一个网页文件中需要访问多个网址,只能建成frameset结构吗? 喜获第一名,散分,呵呵. 多选SELECT中的数据如何保存到数据库? #########用PHP开始你的MVC########(一)整合你的站点入口 SESSION消亡怎么写? IIS可以用PHP(可以显示PHP的页面),APACHE只能显示HTML!!!!!! 急!header("location:register-02.php");跳转无效 100分中为求一运算符号
显示到页面时刻通过预定义格式标记if(!empty($match)) {
echo '<pre>';
foreach($match as $r) {
echo $r;
}
echo '</pre>';
}
$content = '
<pre class=php>
public class Tester
{
//To do list...
}
</pre>
'preg_match_all('/<code[^>]*>([\s\S]*?)<\/code>/i', $content, $result);
$match = array_unique($result[1]);
if(!empty($match)) {
foreach($match as $r) {
echo $r;
}
}
请问这种情况下,还是用你的方法的话,最终出来不就会有2个pre了?而且我就算这样套在pre里,格式好像也不能保留哦
还有一种可能你看到的是换行,实际上只是\r,并不是window需要的\r\n