[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как изменить строку - удалить пробелы
delete_symbol
Здравствуйте, подскажите как удалить из html кода пробелы, не просто пробелы, а только если они существуют между скобок тегов (>здесь пробелы<) и не каких других символов между скобок больше нет.
Пример: если строка выглядит так "> f <" - ее мы не заменяем на "><" так как кроме пробелов в ней еще находится f, а если она будет выглядить так "> <" строку заменяем на "><"


$html=str_replace("> <", "><", $html);
//str_replace(">Здесь должно быть какое то условие, не знаю какое - можете подсказать пожалуйста<",
//Строки не изменяются, так как в ней могут находиться и 2 и 10 и более пробелов

echo $html;


Еще один вопрос - как заменить пробелы если они повторяются на 1 пробел - пример: Привет(3 пробела), как дела. Как заменить 3 пробела на 1?
Игорь_Vasinsky
echo preg_replace("#\s*#uis", "", $s);


сам в шоке

$s = '>             < > as < >a< > <';

результат
><>as<>a<><


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
Цитата (delete_symbol @ 1.12.2015 - 06:28)
дравствуйте, подскажите как удалить из html кода пробелы, не просто пробелы, а только если они существуют между скобок тегов (>здесь пробелы<) и не каких других символов между скобок больше нет.
Пример: если строка выглядит так "> f <" - ее мы не заменяем на "><" так как кроме пробелов в ней еще находится f, а если она будет выглядить так "> <" строку заменяем на "><"

$html = '> f< >    < <  >     <';
$patern = '/>[\s]{1,}</';
$html = preg_replace($patern, '><', $html);
var_dump($html); // string '> f< >< < ><' (length=13)


Цитата (delete_symbol @ 1.12.2015 - 06:28)
Еще один вопрос - как заменить пробелы если они повторяются на 1 пробел - пример: Привет(3 пробела), как дела. Как заменить 3 пробела на 1?

$html = 'Привет , как дела.';
$patern = '/[\s]{2,}/';
$html = preg_replace($patern, ' ', $html);
var_dump($html); // string 'Привет , как дела.' (length=31)


kaww
Вопрос скорее был по регулярке, а не по функции.

Игорь_Vasinsky
Зачем столько модификаторов? Пробел он и в Африке любой кодировке пробел
И пробелы нужно удалить только между > < и при условии, что между ними ничего, кроме пробелов нет Иначе ты ему все нутро, внутри тегов в одно слово сольешь :)

ТС: как насчет табуляторов ;)


_____________
[продано копирайтерам]
delete_symbol
Большое спасибо!
AllesKlar
Цитата (delete_symbol @ 1.12.2015 - 07:03)
Большое спасибо!

Та не за что.
Будут еще вопросы, новый ник под тему вопроса можешь не регить. biggrin.gif

_____________
[продано копирайтерам]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.