您好,请搜索此代码的正则表达式版本:
$val = '<label for="A" >A</label><label for="B"><div>X</div></label><label for="C"><div>Y</div></label>';
$firstLabelPos = strpos($val,'<label for="B">');
$sideB = substr($val,$firstLabelPos + strlen('<label for="B">') );
$firstLabelPos2 = strpos($sideB,'</label>');
$result = substr($val,0,$firstLabelPos-1)
.substr($sideB,0,$firstLabelPos2)
.substr($sideB,$firstLabelPos2+strlen('</label>'));
result : <label for="A" >A</label<div>X</div><label for="C"><div>Y</div></label>
代码找到<label for="B">
和最接近的</label>
。使用之前,之内和之后的内容创建一个新字符串。
如何通过“for”属性删除div周围的标签。
或者您可以说,如何删除第一次出现的<label for="B">
和最近出现的</label>
。
如果你也可以创造我们不接触<label...</label>
内部的东西(可能是另一个标签)。这将进一步练习。