我需要删除字符串的子字符串,但前提是它位于字符串的末尾.
I need to remove a substring of a string, but only when it is at the END of the string.
例如,删除以下字符串末尾的 'string' :
for example, removing 'string' at the end of the following strings :
"this is a test string" -> "this is a test "
"this string is a test string" - > "this string is a test "
"this string is a test" -> "this string is a test"
有什么想法吗?可能是某种 preg_replace,但如何??
Any idea's ? Probably some kind of preg_replace, but how??
您会注意到 $ 字符的使用,它表示字符串的结尾:
You'll note the use of the $ character, which denotes the end of a string:
$new_str = preg_replace('/string$/', '', $str);
如果字符串是用户提供的变量,最好先通过 preg_quote 运行它:
If the string is a user supplied variable, it is a good idea to run it through preg_quote first:
$remove = $_GET['remove']; // or whatever the case may be
$new_str = preg_replace('/'. preg_quote($remove, '/') . '$/', '', $str);
这篇关于删除字符串的一部分,但仅当它位于字符串末尾时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
mysql 中的 store_result() 和 get_result() 返回 falsestore_result() and get_result() in mysql returns false(mysql 中的 store_result() 和 get_result() 返回 false)
调用未定义的函数 mysqli_result::num_rows()Call to undefined function mysqli_result::num_rows()(调用未定义的函数 mysqli_result::num_rows())
PHP 准备好的语句问题PHP Prepared Statement Problems(PHP 准备好的语句问题)
mysqli_fetch_array 只返回一个结果mysqli_fetch_array returning only one result(mysqli_fetch_array 只返回一个结果)
PHP MySQLi 多次插入PHP MySQLi Multiple Inserts(PHP MySQLi 多次插入)
如何确保 MySQL 中的值在 PHP 中保持其类型?How do I make sure that values from MySQL keep their type in PHP?(如何确保 MySQL 中的值在 PHP 中保持其类型?)