我正在使用Simple HTML DOM Parser,我可以从对象代码段中获取所有输入标记
foreach ($InputObj->find('input') as $e) {
$inputTag = $e->outertext;
// now I want to check if input element have size attribute then remove it with preg_replace
$inputTagsSizeStrip = preg_replace('~\<input[^\s]*size=\'|\"[^\'|\"]~is', "" , $inputTag);
}
但没有成功......
任何帮助都会得到满足......
答案 0 :(得分:4)
这里没有理由使用正则表达式。你已经拥有了DOM,只需进行必要的操作:
foreach ($InputObj->find('input') as $e) {
if ($e->hasAttribute('size')) {
$e->removeAttribute('size');
}
}
答案 1 :(得分:1)
你已经在输入标签中,所以不需要输入标签来搜索大小使用这个preg它会找到大小并将其删除
foreach ($InputObj->find('input') as $e) {
$inputTagsSizeStrip = preg_replace('~(size=(\"|\')[^\'|\"]*(\"|\'))~is', $changeSrc , $inputTagsSizeStrip);
}
一定会有效