Come tagliare una parte di una stringa e salvarla in una stringa particolare in MySQL usando PHP?Come rimuovere una parte di una stringa?
stringa Esempio: "REGISTER 11223344 here"
Come posso rimuovere "11223344"
dall'esempio stringa?
Come tagliare una parte di una stringa e salvarla in una stringa particolare in MySQL usando PHP?Come rimuovere una parte di una stringa?
stringa Esempio: "REGISTER 11223344 here"
Come posso rimuovere "11223344"
dall'esempio stringa?
assumendo 11223344 non è costante
$string="REGISTER 11223344 here";
$s = explode(" ",$string);
unset($s[1]);
$s = implode(" ",$s);
print "$s\n";
Questo gli porterà '11223344', che è (penso) l'inverso di ciò che vuole. –
Come mai? Disattiva l'indice della matrice che * contiene * "11223344". –
ho apportato le modifiche dopo i commenti di Dominic. – ghostdog74
Se stai specificamente rivolte a "11223344", quindi utilizzare str_replace
:
echo str_replace("11223344", "", "REGISTER 11223344 here");
Effettuare le seguenti
$string = 'REGISTER 11223344 here';
$content = preg_replace('/REGISTER(.*)here/','',$string);
Questo sarebbe tornato "REGISTERhere"
o
$string = 'REGISTER 11223344 here';
$content = preg_replace('/REGISTER (.*) here/','',$string);
Questa ritornerebbe "registrarsi qui"
Non restituisce "REGISTER__here", con due spazi vuoti (pensare sottolineatura come spazi, il commento non mi consentirà due spazi successivi)? Beacuse degli spazi prima e dopo "(. *)". – TechNyquist
substr() è una funzione built-in php che restituisce parte di una stringa. La funzione substr() prenderà una stringa come input, la forma di indice in cui si desidera ritagliare la stringa. e un parametro facoltativo è la lunghezza della sottostringa. Si può vedere una corretta documentazione e codice di esempio su http://php.net/manual/en/function.substr.php
NOTA: indice per una stringa inizia con 0.
È possibile utilizzare str_replace(), che è definito come:
str_replace($search, $replace, $subject)
Così si potrebbe scrivere il codice come:
$subject = 'REGISTER 11223344 here' ;
$search = '11223344' ;
$trimmed = str_replace($search, '', $subject) ;
echo $trimmed ;
Se avete bisogno di una migliore corrispondenza con le espressioni regolari è possibile utilizzare preg_replace().
Se si ha bisogno di regex matching c'è anche preg_replace() http://us2.php.net/manual/en/function.preg-replace.php –
Quando avete bisogno di regola corrispondente base, è necessario utilizzare regex
$string = "REGISTER 11223344 here";
preg_match("/(\d+)/", $string, $match);
$number = $match[1];
che abbinerà la prima serie di numeri, quindi se avete bisogno di essere prova più specifica:
$string = "REGISTER 11223344 here";
preg_match("/REGISTER (\d+) here/", $string, $match);
$number = $match[1];
preg_replace() sarebbe molto più semplice no? http://us2.php.net/manual/en/function.preg-replace.php –
@ElijahLynn replace richiede la rimozione di cose, i cambiamenti futuri o il rumore si interromperanno. Facendo questo tramite _replace ma _match continuerebbe a funzionare. – TravisO
se vuoi rimuovere la parte della stringa dalla stringa data questo potrebbe aiutarti
chop($string,'part_of_string');
'chop' è un alias di' rtrim', che non lo fa - vedi http://php.net/rtrim. –
Sì, questo non funzionerà. str_replace() è probabilmente più pulito. http://stackoverflow.com/a/2192329/292408 –
Puoi farlo anche tu, se ti piacciono altri modi ...
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"
dinamico, se si desidera rimuovere una parte (s) da un indice fisso (es) di una stringa, utilizzare questa funzione:
/*
* 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);
}
per il vostro scopo:
remove_from_str(1, "REGISTER 11223344 here");
// Output: REGISTER here
Uno dei suoi usi è quello di eseguire comandi, che conoscete la sua struttura.
Quale linguaggio di programmazione è questo? –
dice PHP nel post. –
@siddharth - quale output vuoi? –