如何更换
<option value="X" >XXX</option>
<option value="Y" >YYY</option>
<option value="ZZ" >ZZZ</option>
我想替换所有选项标签,我需要像下面这样打印
"XXX" "YYY" "ZZZ" ....
不熟悉模式。帮我
如果你知道输入总是有这种格式,你当然可以用正则表达式来做。例如
<?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"
如果您想要额外的空格,您可以运行另一个替换并将所有替换""
为" "
.
致所有潜在的反对者。不要教条主义。在许多情况下,正则表达式可以满足需要,而且它们更容易实现。
猜猜这应该工作..
$output = preg_replace("~<option[^>]*?>([^<>]*?)</option[^>]*?>~","$1",trim($html));