我用php生成了这个表: 函数生成一个包含所有html代码的字符串:
<table><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td></tr><tr><td>2</td><td>4</td><td>6</td><td>8</td><td>10</td><td>12</td><td>14</td><td>16</td><td>18</td><td>20</td></tr><tr><td>3</td><td>6</td><td>9</td><td>12</td><td>15</td><td>18</td><td>21</td><td>24</td><td>27</td><td>30</td></tr><tr><td>4</td><td>8</td><td>12</td><td>16</td> .... </table>
现在我想将数字1到10设为黑色。我试图用'<td>(10|[0-9])</td>'
替换<td style="font-weight: bold">THE-ORIGINAL-NUMBER</td>
。
提前Thanx!
P.S。我知道那里有很多similir的答案,但我无法弄清楚..那里有一个真正的noob友好的tut /正则表达式词汇表吗?我真的找不到现代的网站。
答案 0 :(得分:1)
如果您匹配此正则表达式:
<td>(10|[0-9])</td>
您正在将10|[0-9]
捕获到捕获组#1中。您可以在替换以下任一backreferences:
\1
$1
完整的PHP代码:
$html = '<td>1</td>';
$html = preg_replace(
'~<td>(10|[0-9])</td>~',
'<td style="font-weight: bold">\1</td>',
$html
);
答案 1 :(得分:1)
使用此正则表达式
(?<=<td>)(10|[0-9])(?=<\/td>)
将组#1替换为:
<span class="BoldText">$1</span>
风格:
.BoldText {
font-weight: bold;
}
答案 2 :(得分:0)
使用<b>
可能很有用:
替换
'~<td>(10|[0-9])</td>~'
带
'<td><b>\1</b></td>'