正则表达式 - 将html标签替换为双引号

时间:2012-04-12 10:24:36

标签: php regex

如何更换

<option value="X"   >XXX</option>
<option value="Y"   >YYY</option>
<option value="ZZ"   >ZZZ</option>

我想替换所有选项标签,我需要打印如下

"XXX" "YYY" "ZZZ" .... 

不熟悉模式。帮助我

2 个答案:

答案 0 :(得分:1)

如果您知道输入将始终具有此格式,您当然可以使用正则表达式执行此操作。例如。

<?php
$pattern = '/<\/?option[^>]*>\n?/';
$replacement = '"';
$subject = '<option value="X"   >XXX</option>
<option value="Y"   >YYY</option>
<option value="ZZ"   >ZZZ</option>';
$limit = -1;
$count = 0;
$result = preg_replace ($pattern, $replacement, $subject, $limit, $count);
?>

打印$ result将输出

"XXX""YYY""ZZZ"

如果您想要额外的空格,可以运行另一个替换,并将所有""替换为" "

对所有潜在的downvoters。对此不要教条。在许多情况下,正则表达式执行所需的操作,并且它们更容易实现。

答案 1 :(得分:0)

猜猜这应该有用..

$output = preg_replace("~<option[^>]*?>([^<>]*?)</option[^>]*?>~","$1",trim($html));