PHP preg_replace 不工作
PHP preg_replace dont work
我使用这个代码:
$message = preg_replace("/<div style=\'background-color:#C0C8D0;width:95%;\'>SMA Forráskód: <a href=\'\' onclick=\'selectcode((.*));return false;\'>[ Mindet kijelol ]<\/a><\/div><div id=\'(.*)\' style=\'width:95%;max-width:95%;max-height: 500px; overflow:scroll;background-color: #FFFFFF;\'><pre class=\'sma\' style=\'font-family:monospace;font-size: 12px;\'><ol><li style=\'font-weight: normal; vertical-align:top;\'><div style=\'font: normal normal 1em\/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;\'>(.*)<\/div><\/li><\/ol><\/pre><\/div>/",'[sma]<pre></pre>[/sma]',$message);
但它不起作用。 html的原文:
<div style='background-color:#C0C8D0;width:95%;'>SMA Forráskód: <a href='#' onclick='selectcode(16351);return false;'>[ Mindet kijelol ]</a></div><div id='16351' style="width:95%;max-width:95%;max-height: 500px; overflow:scroll;background-color: #FFFFFF;"><pre class="sma" style="font-family:monospace;font-size: 12px;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">some-text</div></li></ol></pre></div>
您的 html 不匹配:
pattern: [..snip..] <a href=\'\' onclick
html : [..snip..] <a href='#' onclick
所以...是的。
$re = "/<div style='background-color:#C0C8D0;width:95%;'>SMA Forráskód: <a href='#' onclick='selectcode\((.*)\);return false;'>\[ Mindet kijelol \]<\/a><\/div><div id='(.*)' style=\"width:95%;max-width:95%;max-height: 500px; overflow:scroll;background-color: #FFFFFF;\"><pre class=\"sma\" style=\"font-family:monospace;font-size: 12px;\"><ol><li style=\"font-weight: normal; vertical-align:top;\"><div style=\"font: normal normal 1em\/1\.2em monospace; margin:0; padding:0; background:none; vertical-align:top;\">(.*)<\/div><\/li><\/ol><\/pre><\/div>/";
$str = "<div style='background-color:#C0C8D0;width:95%;'>SMA Forráskód: <a href='#' onclick='selectcode(16351);return false;'>[ Mindet kijelol ]</a></div><div id='16351' style=\"width:95%;max-width:95%;max-height: 500px; overflow:scroll;background-color: #FFFFFF;\"><pre class=\"sma\" style=\"font-family:monospace;font-size: 12px;\"><ol><li style=\"font-weight: normal; vertical-align:top;\"><div style=\"font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;\">some-text</div></li></ol></pre></div>\n";
preg_match($re, $str, $matches);
我使用这个代码:
$message = preg_replace("/<div style=\'background-color:#C0C8D0;width:95%;\'>SMA Forráskód: <a href=\'\' onclick=\'selectcode((.*));return false;\'>[ Mindet kijelol ]<\/a><\/div><div id=\'(.*)\' style=\'width:95%;max-width:95%;max-height: 500px; overflow:scroll;background-color: #FFFFFF;\'><pre class=\'sma\' style=\'font-family:monospace;font-size: 12px;\'><ol><li style=\'font-weight: normal; vertical-align:top;\'><div style=\'font: normal normal 1em\/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;\'>(.*)<\/div><\/li><\/ol><\/pre><\/div>/",'[sma]<pre></pre>[/sma]',$message);
但它不起作用。 html的原文:
<div style='background-color:#C0C8D0;width:95%;'>SMA Forráskód: <a href='#' onclick='selectcode(16351);return false;'>[ Mindet kijelol ]</a></div><div id='16351' style="width:95%;max-width:95%;max-height: 500px; overflow:scroll;background-color: #FFFFFF;"><pre class="sma" style="font-family:monospace;font-size: 12px;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">some-text</div></li></ol></pre></div>
您的 html 不匹配:
pattern: [..snip..] <a href=\'\' onclick
html : [..snip..] <a href='#' onclick
所以...是的。
$re = "/<div style='background-color:#C0C8D0;width:95%;'>SMA Forráskód: <a href='#' onclick='selectcode\((.*)\);return false;'>\[ Mindet kijelol \]<\/a><\/div><div id='(.*)' style=\"width:95%;max-width:95%;max-height: 500px; overflow:scroll;background-color: #FFFFFF;\"><pre class=\"sma\" style=\"font-family:monospace;font-size: 12px;\"><ol><li style=\"font-weight: normal; vertical-align:top;\"><div style=\"font: normal normal 1em\/1\.2em monospace; margin:0; padding:0; background:none; vertical-align:top;\">(.*)<\/div><\/li><\/ol><\/pre><\/div>/";
$str = "<div style='background-color:#C0C8D0;width:95%;'>SMA Forráskód: <a href='#' onclick='selectcode(16351);return false;'>[ Mindet kijelol ]</a></div><div id='16351' style=\"width:95%;max-width:95%;max-height: 500px; overflow:scroll;background-color: #FFFFFF;\"><pre class=\"sma\" style=\"font-family:monospace;font-size: 12px;\"><ol><li style=\"font-weight: normal; vertical-align:top;\"><div style=\"font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;\">some-text</div></li></ol></pre></div>\n";
preg_match($re, $str, $matches);