Jump to content


Photo

preg_replace


  • Please log in to reply
3 replies to this topic

#1 newman

newman
  • Members
  • PipPip
  • Member
  • 28 posts

Posted 28 April 2006 - 01:02 AM

hi . how can i remove the style attribute and its contents ( the code blow ) using preg_replace , as u can see the style"...." is in 3 lines:

<td style="background-color:#ffffff;
border:#0000001px;padding:3px;
font-style:italic"></td>

the code would turn to : <td></td> after replacing
how can i do that ?
thanks .

#2 toplay

toplay
  • Staff Alumni
  • Advanced Member
  • 973 posts

Posted 28 April 2006 - 04:01 AM

Example:
$text = <<<EOD
<td style="background-color:#ffffff;
border:#0000001px;padding:3px;
font-style:italic"></td>
EOD;

$text = preg_replace('/<td.+?>.*?<\/td>/si', '<td></td>', $text);


#3 newman

newman
  • Members
  • PipPip
  • Member
  • 28 posts

Posted 29 April 2006 - 02:24 PM

thanks for your answer . but i want to remove only the style=".." not other attributes , and some table cells have 0,1,2 or 3 lines of css like this :

<td style="border:#000000 1px;
background-color:#ffffff;
padding:3px">something</td>

or

<td style="border:#000000 1px;
background-color:#ffffff;">something</td>

or

<td style="border:#000000 1px">something</td>

#4 toplay

toplay
  • Staff Alumni
  • Advanced Member
  • 973 posts

Posted 29 April 2006 - 09:21 PM

Next time please be more specific of what you mean. Try something like this:


$text = preg_replace('/(<td.*?)(style *?= *?(["\']).*?\\3)(.*?>.*?<\/td>)/si', '$1$4', $text);


Read up on expressions:
[a href=\"http://www.regular-expressions.info\" target=\"_blank\"]http://www.regular-expressions.info[/a]


Good luck.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users