请教正则替换 本帖最后由 baiyuxiong 于 2011-01-06 16:08:21 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我这么写为什么不对呢?$pattern = "#[code=\"(.+?)\"](.*?)#";$replacement = "<pre name=\"code\" class=\"\\1\">\\2</pre>";$content =preg_replace($pattern,$replacement,$content);[/code] 上面的代码错了$pattern = "#[cod=\"(.+?)\"](.*?)[/cod]#";$replacement = "<pre name=\"code\" class=\"\\1\">\\2</pre>"; $content =preg_replace($pattern,$replacement,$content); LZ结帖率:99.10%好吧!给你个正确的!echo(preg_replace("/\[cod=\"([^\"]+)\"\]([^\[]+)\[\/cod\]/","<pre name=\"code\" class=\"$1\">$2</pre>",$str));\//$str是你的整个字符串------------------测试哥的签名--------------------------哥默默的低下头,不是哥修养好,而是哥在找砖头!-------------------------------------------------------- 兄弟,不对啊$content = <<<TEST[cod="js"]<br />Array.prototype.each=function(callback)<br />{<br /> for (i=0;i&lt;this.length;i++)<br /> {<br /> callback.call(this,this[i]);<br /> }<br />}<br />var arrayObject=["JavaScript","Prototype","Jquery"];<br />arrayObject.each(function(x){alert(x)});<br />[/cod]TEST;echo(preg_replace("/\[cod=\"([^\"]+)\"\]([^\[]+)\[\/cod\]/","<pre name=\"code\" class=\"$1\">$2</pre>",$content));这个代码运行不正确。 echo(preg_replace("/\[cod=\"([^\"]+)\"\](.*?)\[\/cod\]/s","<pre name=\"code\" class=\"$1\">$2</pre>",$content)); echo(preg_replace("/\[cod=\"([^\"]+)\"\]((?:.|\n)*?)\[\/cod\]/","<pre name=\"code\" class=\"$1\">$2</pre>",$content)); 对四楼的代码用不了。新问题:像四楼的代码,如何能再把代码里的换行:<br />去掉? function removeBr($str){ return preg_replace("/\<br \/\>/","",$str);}echo(preg_replace("/\[cod=\"([^\"]+)\"\]((?:.|\n)*?)\[\/cod\]/e","removeBr('<pre name=\"code\" class=\"$1\">$2</pre>')",$content));研究出来了,哈哈 我觉得我这个比较简单直观preg_replace('/\[cod="(.*?)"\](.*?)\[\/cod\]/is', '<pre name="code" class="$1">$2</pre>', $str); 我也写一个preg_replace("/\[cod=\"(.*?)\"\](.*?)\[\/cod\]/is", "<pre name=\"code\" class=\"$1\">$2</pre>", $str); TP自动验证,对非 Create不起作用吗? 求开源的PHP代码 在那里能找到“详细” 的PHP资料? 请叫一下php什么时候用到类 求正则表达式 这个函数请问怎么改才能让是星期日的日期的颜色为红色,而当前日期是黄色??谢谢 求一正则表达式 谁帮我解释一下。 请问php怎样调用sp,还有就是mysql支持sp吗? php判断数据重复 求一句php的跳转代码,我有一个连接联向 123.php,我想点击这个链接时,直接进入 456.htm php数组输出问题
$replacement = "<pre name=\"code\" class=\"\\1\">\\2</pre>";
$content =preg_replace($pattern,$replacement,$content);
[/code]
$replacement = "<pre name=\"code\" class=\"\\1\">\\2</pre>"; $content =preg_replace($pattern,$replacement,$content);
好吧!给你个正确的!
echo(preg_replace("/\[cod=\"([^\"]+)\"\]([^\[]+)\[\/cod\]/","<pre name=\"code\" class=\"$1\">$2</pre>",$str));\//$str是你的整个字符串
------------------测试哥的签名--------------------------
哥默默的低下头,不是哥修养好,而是哥在找砖头!
--------------------------------------------------------
[cod="js"]<br />
Array.prototype.each=function(callback)<br />
{<br />
for (i=0;i&lt;this.length;i++)<br />
{<br />
callback.call(this,this[i]);<br />
}<br />
}<br />
var arrayObject=["JavaScript","Prototype","Jquery"];<br />
arrayObject.each(function(x){alert(x)});<br />
[/cod]
TEST;
echo(preg_replace("/\[cod=\"([^\"]+)\"\]([^\[]+)\[\/cod\]/","<pre name=\"code\" class=\"$1\">$2</pre>",$content));这个代码运行不正确。
echo(preg_replace("/\[cod=\"([^\"]+)\"\]((?:.|\n)*?)\[\/cod\]/","<pre name=\"code\" class=\"$1\">$2</pre>",$content));
<br />去掉?
function removeBr($str)
{
return preg_replace("/\<br \/\>/","",$str);
}echo(preg_replace("/\[cod=\"([^\"]+)\"\]((?:.|\n)*?)\[\/cod\]/e","removeBr('<pre name=\"code\" class=\"$1\">$2</pre>')",$content));
研究出来了,哈哈
preg_replace('/\[cod="(.*?)"\](.*?)\[\/cod\]/is', '<pre name="code" class="$1">$2</pre>', $str);