无法在Php或Notepad ++中按行完成正则表达式替换

时间:2016-03-17 17:00:50

标签: php regex

190 PALMER RD,HARMONY
MLS®201512263$ 239,900
2英亩/加热DBL车库/热泵
http://goo.gl/tVWDan

我想在PHP中使用正则表达式将上面的第一行“190 PALMER RD,HARMONY”替换为:<p style="color: #EF2F48"> <b> 190 PALMER RD, HARMONY </b> </p>

我使用了以下代码。但是不起作用。请帮忙。

(^ [0-9]。*) - <p style="color: #EF2F48"> <b> \1 </b> </p>

我希望上面的第二行'MLS®201512263$ 239,900'替换为:<p> MLS® 201512263 &nbsp;&nbsp; $239,900 </p>使用正则表达式。

我使用了以下代码。但是有效。

(MLS®[0-9]*) (\$[0-9,]+) - <p> \1 &nbsp;&nbsp; \2 </p>

我希望第三行由正则表达式选择。我不确定。我想要这样。 <p style="color: #000"> 2 ACRES/HEATED DBL GARAGE/HEAT PUMP </p>

第四行我选择了这样的方式并取而代之。

(http:*.*) - <p><a class="ui-link" style="color: blue;"href="\1" target="_blank">\1</a></p>

请帮帮我 的Manoj

1 个答案:

答案 0 :(得分:0)

尝试以下脚本:

$rx = '/^([^\n]+)\s*([^\n]+) (\$[^\n]+)\s*([^\n]+)\s*([^\n]+)$/sim';
$replacement = '<p style="color: #EF2F48"><b>$1</b></p><p>$2&nbsp;&nbsp$3</p> <p style="color: #000">$3</p> <p><a class="ui-link" style="color: blue;"href="$4" target="_blank">$5</a></p>';

$subject = ".... your test data ....";

$result = preg_replace($rx, $replacement, $subject);

结果:

<p style="color: #EF2F48"><b>190 PALMER RD, HARMONY</b></p>
<p>MLS® 201512263&nbsp;&nbsp$239,900</p>
<p style="color: #000">$239,900</p> 
<p>
<a class="ui-link" style="color: blue;"href="2 ACRES/HEATED DBL GARAGE/HEAT PUMP" target="_blank">
http://goo.gl/tVWDan</a>
</p>

请参阅Demo此处