Как урезать часть строки и сохранить ее в определенной строке в MySQL с помощью PHP?Как удалить часть строки?
Пример строки: "REGISTER 11223344 here"
Как я могу удалить "11223344"
из примера строки?
Как урезать часть строки и сохранить ее в определенной строке в MySQL с помощью PHP?Как удалить часть строки?
Пример строки: "REGISTER 11223344 here"
Как я могу удалить "11223344"
из примера строки?
при условии, 11223344 не является постоянной
$string="REGISTER 11223344 here";
$s = explode(" ",$string);
unset($s[1]);
$s = implode(" ",$s);
print "$s\n";
Это даст ему '11223344', который (я думаю) обратный к тому, что он хочет. –
Как так? Он отключает индекс массива, который * содержит * «11223344». –
Я сделал корректировки после комментариев Доминика. – ghostdog74
Если вы специально пристреливать "11223344", а затем использовать str_replace
:
echo str_replace("11223344", "", "REGISTER 11223344 here");
Выполните следующие действия
$string = 'REGISTER 11223344 here';
$content = preg_replace('/REGISTER(.*)here/','',$string);
Это вернется "РЕГИСТРАЦИЯ"
или
$string = 'REGISTER 11223344 here';
$content = preg_replace('/REGISTER (.*) here/','',$string);
Это вернет "РЕЕСТР здесь"
Не вернет ли он «REGISTER__here», с двумя пробелами (подумайте, что подчеркивание как пробелы, комментарий не позволит мне два последующих пробела)? Избегайте пробелов до и после «(. *)». – TechNyquist
SUBSTR() является встроенной функцией PHP, которая возвращает часть строки. Функция substr() примет строку как входную, форму индекса, где вы хотите, чтобы строка была обрезана. а необязательным параметром является длина подстроки. Вы можете увидеть надлежащую документацию и примеры кода на http://php.net/manual/en/function.substr.php
Примечание: индекс строки начинается с 0.
Вы можете использовать str_replace(), который определяется как:
str_replace($search, $replace, $subject)
Таким образом, вы могли бы написать код как:
$subject = 'REGISTER 11223344 here' ;
$search = '11223344' ;
$trimmed = str_replace($search, '', $subject) ;
echo $trimmed ;
Если вам необходимо лучшее согласование с помощью регулярных выражений, которые вы можете использовать preg_replace().
Если требуется сопоставление регулярных выражений, есть также preg_replace() http://us2.php.net/manual/en/function.preg-replace.php –
Когда вам нужно правило соответствия на основе, вам нужно использовать регулярное выражение
$string = "REGISTER 11223344 here";
preg_match("/(\d+)/", $string, $match);
$number = $match[1];
Это будет соответствовать первый набор чисел, так что если вам нужно быть более конкретным попробовать:
$string = "REGISTER 11223344 here";
preg_match("/REGISTER (\d+) here/", $string, $match);
$number = $match[1];
preg_replace() было бы намного проще, не так ли? http://us2.php.net/manual/en/function.preg-replace.php –
@ElijahLynn replace требует, чтобы вы удаляли вещи, будущие изменения или шум прерывались. Выполнение этого с помощью _replace, но _match будет продолжать работать. – TravisO
если вы хотите удалить часть строки из заданной строки , это может помочь вам
chop($string,'part_of_string');
'chop' - это псевдоним' rtrim', который этого не делает - см. Http://php.net/rtrim. –
Да, это не сработает. str_replace(), вероятно, самый чистый. http://stackoverflow.com/a/2192329/292408 –
Вы тоже можете это сделать, если вам нравятся другие способы ...
function str_substract($remove, $subject){
$strpos = strpos($subject, $remove);
return substr($subject, 0, $strpos) . substr($subject, $strpos + strlen($remove));
}
$str = "Hello, world. This is amazing";
print str_substract('rld', $str);
/* Outputs: */
"Hello, wo. This is amazing"
Динамически, если вы хотите, чтобы удалить часть (ы) с фиксированным индексом (ами) строки, используйте эту функцию:
/*
* Remove index/indexes from a string, delimited by a space (or something else).
* First, divides the string by delimiter and holds divided parts as an array.
* If $index is an array, it removes all indexes of the divided string;
* otherwise (i.e. has an int value), it removes just that index of the string.
* At last, it joins all string parts together and return it as a string.
* Note: If you want to use this function in PHP5, remove scalar type hints
* (i.e. keywords before function arguments).
*/
function remove_from_str($index, string $str, string $delimiter = " "): string
{
// String parts
$strParts = explode($delimiter, $str);
// Remove indexes from string parts
if (is_array($index))
foreach ($index as $i)
$strParts[(int)$i] = null;
else
$strParts[(int)$index] = null;
// Remove null values, to prevent duplicating delimiter
$strParts = array_filter($strParts);
// Join all parts together and return it
return implode($delimiter, $strParts);
}
Для вашей цели:
remove_from_str(1, "REGISTER 11223344 here");
// Output: REGISTER here
Одним из его способов использования является выполнение команд, которые вы знаете о его структуре.
Какой язык программирования это? –
говорит PHP в сообщении. –
@siddharth - какой вывод вы хотите? –