Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
 Аватар для Dimka1judo
6 / 6 / 5
Регистрация: 16.01.2012
Сообщений: 245

как в explode проверить сразу 2 значения

07.09.2012, 20:35. Показов 1790. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть переданная переменная, где нужно убирать из неё тире пробелы внутренние и нижнее подчёркивание.
Делаю вот как
PHP
1
2
3
$tel_dom = trim($_POST['tel_dom']);
                $tel_dom = explode("-",$tel_dom);
                $tel_dom = implode($tel_dom);
Но это ток на тире а как ещё на 2 сделать сразу можно всё в одном?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.09.2012, 20:35
Ответы с готовыми решениями:

Explode PHP - 2 значения
Есть переменная с такими вот данными: сайт/cshop/ssilko?order=v1 $test = explode('/', $mystring, 3); Я сделал так, у меня выводиться...

Как спарсить все значения сразу?
"name":"ТЕСТ1"," "name":"ТЕСТ2"," "name":"ТЕСТ3"," preg_match("!\"name\":\"(.*?)\",\"!si",$result,$wallet); Надо спарсить сразу все...

Как вернуть сразу 2 значения из функции?
Есть функция, которая генерирует 2 параметра. Как сделать так, чтобы функция их вернула? Оба сразу?

9
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.09.2012, 20:43
1 вариант
PHP
1
2
$text = str_replace('-','',$text);
$text = str_replace('_','',$text);
2 вариант
PHP
1
$text = strtr('_-','  ',$text); #вместо них пробелы будут
3 вариант
PHP
1
$text = preg_replace('/[-|_]/','',$text);
1
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
07.09.2012, 20:46
делается ч/з ф-ю preg_replace_all, но в регулярных выражениях не силен, поэтому напишем ч/з ф-ю str_replace
PHP
1
2
3
4
$znaki = array('-', '_', ' ');
$null = array('', '', '');
$tel_dom = trim($_POST['tel_dom']);
str_replace($znaki, $null, $tel_dom);
2
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.09.2012, 20:48
еще вариант
PHP
1
2
3
4
5
6
$text = str_split($text);
$str = '';
foreach ($text as $v) {
$str .= ($v == '-' || $v == '_') ? '' : $v ;
}
echo $str;
еще другие есть..

Добавлено через 1 минуту
Love_and_Peace, preg_replace_all нету, есть только preg_match_all.. в preg_replace() четвертый параметр - число замен, по умолчанию все совпадения (т.е. -1)
2
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
07.09.2012, 20:49
тут знак | означает пробел надо понимать?
Цитата Сообщение от KOPOJI Посмотреть сообщение
'/[-|_]/'
и - раздве не preg_replace_all?

Добавлено через 59 секунд
Цитата Сообщение от KOPOJI Посмотреть сообщение
preg_replace_all нету, есть только preg_match_all
да, перепутал
1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.09.2012, 20:50
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
тут знак | означает пробел надо понимать?
это или т.е. или тире или подчеркивание заменять
1
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
07.09.2012, 20:53
Цитата Сообщение от KOPOJI Посмотреть сообщение
это или т.е. или тире или подчеркивание заменять
а где же пробел в 3-ем варианте?
1
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.09.2012, 21:00
сорри неправильно прочитал. пробелы тогда надо еще добавить в "регулярку" и во все остальное
PHP
1
2
3
4
$text = str_replace('-','',$text);
$text = str_replace('_','',$text);
$text = str_replace(' ','',$text);
echo $text;
PHP
1
2
3
$text = strtr('_-','  ',$text); #вместо них пробелы будут
$text = str_replace(' ','',$text);
echo $text;
PHP
1
2
$text = preg_replace('/[-|_|\s]/','',$text);
echo $text;
PHP
1
2
3
4
5
6
$text = str_split($text);
$str = '';
foreach ($text as $v) {
$str .= ($v == '-' || $v == '_' || $v == ' ') ? '' : $v ;
}
echo $str;
Добавлено через 7 минут
кстати, в регулярке, по идее или (знак | ) можно убрать..
2
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
08.09.2012, 08:28
В str_replace() можно передавать и массив что искать + одна строка для замены.
PHP
1
$result = str_replace(array("-", "_"), "", $source);
Цитата Сообщение от Dimka1judo Посмотреть сообщение
пробелы внутренние
Именно только пробел «_» или любые пробельные символы? Если набор символов конкретный, то лучше используйте str_replace().

Для теста взял текст 768 КБ, в котором 1/4 часть (192 КБ) - символы, подлежащие удалению (всех поровну). Делал 1000 итераций для каждой функции: str_replace(), strtr() и preg_replace():
PHP
1
2
3
str_replace(array("-", "_", " "), "", $text);
strtr($text, array("-" => "", "_" => "", " " => ""));
preg_replace('/[-_ ]+/', "", $text);
Результат: str_replace() быстрее.
Code
1
2
3
4
5
6
7
Benchmark: timing 1_000 iterations of str_replace, strtr, preg_replace
 
 function    : всего сек. @ итераций/сек.
--------------------------------------------
 str_replace :    14.3475 @          69.6986
 strtr       :    38.7244 @          25.8235
 preg_replace:    65.6088 @          15.2419
1
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
08.09.2012, 08:51
Цитата Сообщение от Dimka1judo Посмотреть сообщение
$tel_dom =
почему-то подумалось, что речь идет о номере телефона. в таком случае, думаю, в переменной нужно оставить ТОЛЬКО цифры... Я делал так:
PHP
1
 $str = preg_replace("/[^\d]/i","",$str);
в итоге на выходе в $str остаются ТОЛЬКО цифры
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.09.2012, 08:51
Помогаю со студенческими работами здесь

Как дописать код по определению наличия шрифта, чтобы проверить сразу несколько шрифтов?
есть файл script.js с кодом, который проверяет наличие шрифта у пользователя /** * JavaScript code to detect available availability of...

Как вернуть сразу 2 значения массива в функции?
Собственно дан у меня например массив "aa", где l-левая граница, а r-правая. При выполнении кода мне надо сразу вернуть эти два стоящих...

Как создавать таблицу и сразу загнать в ее значения
Привет.Подскажите синтаксис или принцип такой махинации. Единственное что я узнал это то,что оно делается через подзапрос в операторе...

Как присвоить 10 компонентам сразу значения из массива?
Есть на форме 10 компонентов Clabel,в них есть поле Caption,в которое и нужно присвоить значения. Суть в том,что бы не писать 10 строк...

Как в CommandParameter передать сразу 2 значения с двух TextBox
У меня есть догадки, что в AutorizationViewModel можно создать свойство, которое биндится к двум текстбоксам, и при нажатии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru