我正在尝试使用正则表达式将标准HTML代码转换为自定义格式(数据导出所需)。
例如,在以下代码中:
<a href="toto.php">Toto
</a> bwahaha
<td width="49%" bgcolor="#FF9E39" style="padding-left: 10px; padding-top: 3px; padding-bottom: 3px; border-bottom: 5px solid rgb(255, 255, 255);" class="texteblanc">
<a href="nuit-orientation.php" class="texteblanc">[strong]Nuit de l'orientation[/strong]</a>
</td>
我想以下列格式提取两个链接:
[a:toto.php]Toto[/a]
[a:nuit-orientation.php][strong]Nuit de l'orientation[/strong][/a]
当然,我希望链接在现有的HTML代码中保留。
所以,我尝试了以下代码:
$txt = preg_replace('/<a href="(([[:word:]]|[[:punct:]])+)"[^>]*>\n*(\r\n)*\r*(([[:print:]]|\r\n|\n)+)\n*(\r\n)*\r*<\/a>/i', '[a:${1}]${4}[/a]', $txt);
它有效但不是所有时间......
有人知道怎么做这样的事吗?
谢谢,
达明