|
|
|
| Такая ситуация в тексте есть
$text = "<td>
<img src="https://site/accounts/msh.gif" alt="История веб-поиска">
</td>
<td style="font-size:83%"> ";
|
Нужно сделать так
<td>
<div><img src="https://site/accounts/msh.gif" alt="История веб-поиска"> </div>
</td>
<td style="font-size:83%">
|
Тег <div> будет без класса и id
<img ..... > может быть и с id и class
Смысл должен быть такой после обработки
<div> <img ..... ></div> | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 12:11)
| | str_replace() | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 12:11)
| | А без div никак не обойтись в вашем случае? | |
|
|
|
|
|
|
|
для: sim5
(27.07.2010 в 12:36)
| | Можно <span> | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 12:41)
| | Зачем? | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 12:41)
| | Можно: a, abbr, ..., b, ..., cite, ..., xmp - только вот зачем? | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 12:41)
| | Почитайте про css-селекторы. Если совсем уж никак - то про регулярные выражения. | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 12:11)
| | Зачем вам впрапить IMG в DIV, нельзя для этих целей использовать TD? | |
|
|
|
|
|
|
|
для: mihdan
(27.07.2010 в 12:41)
| | Хочу прикрепить к стилям через div img { border:}
А каждому изображению не пропишешь | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 12:46)
| |
TD IMG {border: 1px solid red;}
|
не тоже самое?
А если таблице задать класс - еще проще:
<table class="classname">
|
table.classname td img {border: 1px solid red;}
|
| |
|
|
|
|
|
|
|
для: mihdan
(27.07.2010 в 12:50)
| | td вообще для примера там пожет быть и спам и div и еще чтото. | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 12:46)
| | >А каждому изображению не пропишешь
Так если вы тупо замените IMG на DIV IMG - это разве не приведет к замене всех IMG.
Сформулируйте задачу, что вы хотите и зачем вы это делаете? | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 12:46)
| | Ага, а значит DIV прописать каждому можно?
img { border:} - это значит не для каждого изображения?
Ужас, никак не иначе! | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 12:11)
| |
<?php
$text = '<td>
<img src="https://site/accounts/msh.gif" alt="История веб-поиска">
</td>
<td style="font-size:83%"> ';
$beforeText = '<div>';
$afterText = '</div>';
|
Дальше можно так:
// <?
$curPos = 0;
while(false !== $imgTagStartPos = stripos($text, '<img', $curPos))
{
if(!ctype_space($text[$imgTagStartPos + 4]))
{
$curPos += $imgTagStartPos + 4;
continue;
}
$imgTagEndPos = stripos($text, '>', $imgTagStartPos + 5);
if(false === $imgTagEndPos)
break;
$imgTagLen = $imgTagEndPos + 1 - $imgTagStartPos;
$imgTag = substr($text, $imgTagStartPos, $imgTagLen);
$text = substr_replace($text, "{$beforeText}{$imgTag}{$afterText}", $imgTagStartPos, $imgTagLen);
$curPos = $imgTagEndPos + 1 + strlen($beforeText) + strlen($afterText);
}
|
Или так:
// <?
$text = preg_replace('~<img\\s[^>]*>~i', "{$beforeText}\\0{$afterText}", $text);
|
| |
|
|
|
|
|
|
|
для: sms-send
(27.07.2010 в 13:03)
| | Большое спасибо, sms-send. Я уже все надежды потерял=) | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 13:07)
| | Всё таки надо разобраться, а надо ли так делать... разве стиль border нельзя прописать самому тегу img? Почему граница должна быть именно у родительского тега?
| |
|
|
|
|
|
|
|
для: sms-send
(27.07.2010 в 13:11)
| | >Всё таки надо разобраться, а надо ли так делать... разве стиль border нельзя прописать самому тегу img? Почему граница должна быть именно у родительского тега?
Даже не стиль, а правильнее класс | |
|
|
|
|
|
|
|
для: mihdan
(27.07.2010 в 13:16)
| | Может не правильно выразился, но я имел в виду само применение css-свойства border без привязки к способу применения css-правила. | |
|
|
|
|
|
|
|
для: sms-send
(27.07.2010 в 13:03)
| | Феерично. Прямиком на ГК | |
|
|
|
|
|
|
|
для: nikita2206
(27.07.2010 в 14:38)
| | Про который из вариантов?
Просто тут на форуме есть люди, считающие что от рег. выраженией нужно отказываться всегда, когда можно обойтись без них.. первый вариант лишь для сравнения объёма. | |
|
|
|
|
|
|
|
для: sms-send
(27.07.2010 в 14:45)
| | Ну тогда извиняйте. Что ж это за люди такие | |
|
|
|
|
|
|
|
для: nikita2206
(27.07.2010 в 14:47)
| | Скажу одно, картинка не только в новости прописана, но и в меню или еще гдето. А так в стилях прописал и все, за чем каждому изображению прописывать к примеру бордер, В психбольницу сразу попадешь если так писать. | |
|
|
|
|
|
|
|
для: Intendant
(27.07.2010 в 16:50)
| | А зачем в псих больницу, элементы меню имеют родитея, это как минимум.
То что вы пишите и пустое, и пользы ноль, просто лишний мусор для скачивания пользователем. | |
|
|
|