使用preg_replace从html中删除输入大小

时间:2012-09-14 12:00:07

标签: php parsing preg-replace

我正在使用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);
}

但没有成功......

任何帮助都会得到满足......

2 个答案:

答案 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);
 }

一定会有效