Bagaimana saya bisa menghapus bagian dari string?
String contoh: "REGISTER 11223344 here"
Bagaimana saya bisa menghapus "11223344"
dari contoh string di atas?
REGISTER here
dalam database?
Bagaimana saya bisa menghapus bagian dari string?
String contoh: "REGISTER 11223344 here"
Bagaimana saya bisa menghapus "11223344"
dari contoh string di atas?
REGISTER here
dalam database?
Jawaban:
Jika Anda secara khusus menargetkan "11223344", gunakan str_replace
:
// str_replace($search, $replace, $subject)
echo str_replace("11223344", "","REGISTER 11223344 here");
Anda dapat menggunakan str_replace () , yang didefinisikan sebagai:
str_replace($search, $replace, $subject)
Jadi, Anda dapat menulis kode sebagai:
$subject = 'REGISTER 11223344 here' ;
$search = '11223344' ;
$trimmed = str_replace($search, '', $subject) ;
echo $trimmed ;
Jika Anda perlu pencocokan yang lebih baik melalui ekspresi reguler, Anda dapat menggunakan preg_replace () .
dengan asumsi 11223344 tidak konstan
$string="REGISTER 11223344 here";
$s = explode(" ",$string);
unset($s[1]);
$s = implode(" ",$s);
print "$s\n";
str_replace(find, replace, string, count)
Sebagai per OP contoh:
$Example_string = "REGISTER 11223344 here";
$Example_string_PART_REMOVED = str_replace('11223344', '', $Example_string);
// will leave you with "REGISTER here"
// finally - clean up potential double spaces, beginning spaces or end spaces that may have resulted from removing the unwanted string
$Example_string_COMPLETED = trim(str_replace(' ', ' ', $Example_string_PART_REMOVED));
// trim() will remove any potential leading and trailing spaces - the additional 'str_replace()' will remove any potential double spaces
// will leave you with "REGISTER here"
Saat Anda membutuhkan pencocokan berbasis aturan, Anda perlu menggunakan regex
$string = "REGISTER 11223344 here";
preg_match("/(\d+)/", $string, $match);
$number = $match[1];
Itu akan cocok dengan set angka pertama, jadi jika Anda perlu mencoba lebih spesifik:
$string = "REGISTER 11223344 here";
preg_match("/REGISTER (\d+) here/", $string, $match);
$number = $match[1];
$match
array. Hapus tanda kurung kemudian akses melalui $match[0]
.
substr () adalah fungsi php bawaan yang mengembalikan bagian dari sebuah string. Substr fungsi () akan mengambil string sebagai input, bentuk indeks di mana Anda ingin string yang akan dipangkas. dan parameter opsional adalah panjang substring. Anda dapat melihat dokumentasi yang tepat dan contoh kode di http://php.net/manual/en/function.substr.php
CATATAN: indeks untuk string dimulai dengan 0.
Secara dinamis, jika Anda ingin menghapus (a) bagian dari (a) indeks tetap string, gunakan fungsi ini:
/**
* Removes index/indexes from a string, using a delimiter.
*
* @param string $string
* @param int|int[] $index An index, or a list of indexes to be removed from string.
* @param string $delimiter
* @return string
* @todo Note: For PHP versions lower than 7.0, remove scalar type hints (i.e. the
* types before each argument) and the return type.
*/
function removeFromString(string $string, $index, string $delimiter = " "): string
{
$stringParts = explode($delimiter, $string);
// Remove indexes from string parts
if (is_array($index)) {
foreach ($index as $i) {
unset($stringParts[(int)($i)]);
}
} else {
unset($stringParts[(int)($index)]);
}
// Join all parts together and return it
return implode($delimiter, $stringParts);
}
Untuk tujuan Anda:
remove_from_str("REGISTER 11223344 here", 1); // Output: REGISTER here
Salah satu penggunaannya adalah untuk mengeksekusi string seperti perintah, yang Anda tahu strukturnya.
Cuplikan berikut akan mencetak "DAFTAR di sini"
$string = "REGISTER 11223344 here";
$result = preg_replace(
array('/(\d+)/'),
array(''),
$string
);
print_r($result);
Preg_replace () API menggunakan kami seperti yang diberikan di bawah ini.
$result = preg_replace(
array('/pattern1/', '/pattern2/'),
array('replace1', 'replace2'),
$input_string
);
preg_replace()
dalam kasus ini. Juga tidak ada manfaat menggunakan kelompok tangkap.
Lakukan yang berikut
$string = 'REGISTER 11223344 here';
$content = preg_replace('/REGISTER(.*)here/','',$string);
Ini akan mengembalikan "REGISTERdi sini"
atau
$string = 'REGISTER 11223344 here';
$content = preg_replace('/REGISTER (.*) here/','',$string);
Ini akan mengembalikan "DAFTAR di sini"
remove
, tetapi sepertinya Anda maksudkanextract
sehingga string yang ditargetkan dapat disimpan dalam database.