0

如何更换

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

我想替换所有选项标签,我需要像下面这样打印

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

不熟悉模式。帮我

4

2 回答 2

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"

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

致所有潜在的反对者。不要教条主义。在许多情况下,正则表达式可以满足需要,而且它们更容易实现。

于 2012-04-13T10:57:37.837 回答
0

猜猜这应该工作..

$output = preg_replace("~<option[^>]*?>([^<>]*?)</option[^>]*?>~","$1",trim($html));
于 2012-04-13T11:05:33.767 回答