регулярное выражение: удалить пробельные символы после <img...>, если внутри есть float или smile

интернет программирование php регулярные выражения

не получается удалить пробельные символы после <img...>, если внутри есть float или smile
пробовал вот так не работает
$text=preg_replace('#(<img[^smile|float]*(?:/>|/img>))(?:\r\n+|\n+|\r+)#iU',"$1",$text);

$text=preg_replace('#(<img.(?!smile|float).*(?:/>|/img>))(?:\r\n+|\n+|\r+)#iU',"$1",$text);

Примечание:
<img src="./images/1.jpg" style="float: left;" /> например так
стайл и внутри задавать вообще-то можно, в моем случае так проще. а на счет пробельных символов извиняюсь, мне нужно удалить только переходы на новую строку, т.е. без пробелов и табов. [\r\n]+ здесь вполне сократит выражение, но проблема не в нем

Примечание:
Мой первый вариант вообще не правильный, второй ближе к теме, но тоже неверно
$text=preg_replace('#(<img(?:.)(?!smile|float).*(?:/>|/img>))(?:\r\n+|\n+|\r+)#iU',"$1",$text);
Ответы:
не мешало бы привести полностью строку, а не огрызок <img...>
$text = preg_replace('/(<img[^>]+((style="[^"]*float[^"]*")|smile)+[^>]*>)\s+/Uis', '$1', $text);
Непонятно, что еще за смайл, так что, возможно, придется вам регулярку поправить. Ну и я не проверял, отладьте сами, если потребуется.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.