我的HTML看起来像这样:
<td class="danish">(.*)
\s*(.*)</td>
我正在修理换行符:
<td class="danish">Det tyckeg jag</td>
但有时HTML会在同一行的标记中结束:
<td class="danish"> Det
tycker jag!</td>
<td>
<?php audioButton("../../audio//det_lyder_godt","det_lyder_godt"); ?>
我希望它在搜索时跳过这些行,并找到下一个折线。
如果有人认为让代码看起来好看只是一件轻浮的事情,其余代码看起来就像这样(不需要阅读):
parent
我最终不得不把表格中的文字换成audiobutton中的文字一千次,但这是一个不同的问题
答案 0 :(得分:1)
\s
表示“任何空白字符”,包括空格和新行。您可以使用以下内容明确搜索必须包含新行的行
<td class="danish">(.*)\n\s*(.*)</td>
请注意正则表达式中的其他\n
。
答案 1 :(得分:1)
我认为这就是你要找的东西:
(<td class="danish">(?:(?!</td>).)*)\r?\n\s*
此匹配从<td class="danish">
到下一个换行符,除非首先是</td>
标记。替换为"$1 "
或"\1 "
(不带引号)。
使用\r?\n
而不是文字换行符可以使正则表达式更加健壮。更好的是\R
,如果你的正则表达式支持它。