sayber
Новичок
Помощь в регулярке.
Суть такая: в БД хранится текст с тегами ну и соответственно там имеется к примеру <img align="left" src="bla.gif" ....>
Мне надо разделить текст и картинку в разные переменные.
Как должно получиться в итоге http://urcon.net/2.gif
Пример дампа текста в БД
Этот тест получается на странице с новостями.
Я пытался сделать таким способом, но что то глючит.
PHP Код для изменения выше указанного текста
Результат должен быть:
Если есть у кого какие то решения - прошу помочь.
Суть такая: в БД хранится текст с тегами ну и соответственно там имеется к примеру <img align="left" src="bla.gif" ....>
Мне надо разделить текст и картинку в разные переменные.
Как должно получиться в итоге http://urcon.net/2.gif
Пример дампа текста в БД
Этот тест получается на странице с новостями.
Код:
<div>
<a href="/uploads/mypics.jpg" onClick="return hs.expand(this)" >
<img
height="115"
align="left"
src="/uploads/thumbs/mypics.jpg"
style="border: none;"
alt='альт'
title='тайтл' />
</a>
Текст бла-бла бла-бла бла-бла бла-бла бла-бла <br />
</div>
<div>
бла-бла бла-бла бла-бла бла-бла бла-бла бла-бла бла-бла бла-бла бла-бла бла-бла бла-бла
</div>
Я пытался сделать таким способом, но что то глючит.
PHP Код для изменения выше указанного текста
PHP:
function tag_cuts($tag, &$str) {
$out=preg_replace('/^(.*) '.$tag.'=[\"\']([^\'\"]*)[\"\'](.*)$/', '\\2', $str);
return ($out==$str)?'':$out;
}
$rSRC = tag_cuts('src', $row['post']);
$rALIGN = tag_cuts('align', $row['post']);
$rSTYLE = tag_cuts('style', $row['post']);
$rALT = tag_cuts('alt', $row['post']);
$rHREF = tag_cuts('href', $row['post']);
$rCLICK = tag_cuts('onClick', $row['post']);
$rTEXTdo = preg_replace('/^(.*)\<a (.*)$/', '\\2', $row['post']);
$rTEXT = preg_replace('/^(.*)\<\/a\>(.*)$/', '\\1', $row['post']);
$rALLtext = $rTEXTdo.$rTEXT;
$rIMG = "<a href=\"{$rHREF}\" onClick=\"{$rCLICK}\">
<img align=\"{$rALIGN}\" src=\"{$rSRC}\" style=\"{$rSTYLE}\" onClick=\"{$rCLICK}\" alt='{$rALT}' /></a>";
$row['post'] = <<<EEE
<table width="539" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="115" valign="top">{$rIMG}</td>
<td width="100%" rowspan="2" valign="top"><a href="{$rHREF}">
{$rALLtext}
</a></td>
</tr>
<tr>
<td height="45" valign="top">{$rALT}</td>
</tr>
</table>
EEE;
Результат должен быть:
Код:
<table width="539" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="115" valign="top">
<a href="/uploads/mypics.jpg" onClick="return hs.expand(this)" >
<img
height="115"
align="left"
src="/uploads/thumbs/mypics.jpg"
style="border: none;"
alt='альт'
title='тайтл' />
</a>
</td>
<td width="100%" rowspan="2" valign="top">
<a href="/uploads/mypics.jpg" onClick="return hs.expand(this)" >Текст бла-бла бла-бла
бла-бла бла-бла бла-бла <br /> бла-бла бла-бла бла-бла
бла-бла бла-бла
бла-бла бла-бла бла-бла бла-бла бла-бла бла-бла </a></td>
</tr>
<tr>
<td height="45" valign="top">альт</td>
</tr>
</table>
Если есть у кого какие то решения - прошу помочь.