Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中TRIM的不同行为_Php - Fatal编程技术网

php中TRIM的不同行为

php中TRIM的不同行为,php,Php,我有一段代码,我想从字符串中删除一些单词,但是trim()函数没有显示正确的输出 代码如下 <?php $mystring = '/word-quotes-hope'; $findme = '/word-quotes-'; echo $str = trim($mystring, $findme); ?> 它的输出是hop,但应该是hope 它的工作实例 任何人都知道为什么会发生这种情况。因为trim使用第二个字符串单个字符,而不是整个字符串,在您的例子中,它有一个e,字符串

我有一段代码,我想从字符串中删除一些单词,但是
trim()
函数没有显示正确的输出

代码如下

<?php
$mystring = '/word-quotes-hope';
$findme   = '/word-quotes-';
echo $str = trim($mystring, $findme);
?>

它的输出是
hop
,但应该是
hope

它的工作实例


任何人都知道为什么会发生这种情况。

因为
trim
使用第二个字符串单个字符,而不是整个字符串,在您的例子中,它有一个
e
,字符串以
e
结尾,所以它会关闭。

尝试将它与“ltrim”一起使用


它将在“左”下修剪字符串,@ BuvnRikka<代码> o>代码不修剪,因为它位于单词<代码>希望< /COD>不在任何一端。它不受影响,因为<代码> p>代码>在<代码> $FunMe< /C> > @ Copy857优秀解释!正如complex857所说,trim()函数使用第二个参数字符串中的所有字符截断第一个参数的结尾。您需要使用str_replace()来执行字符串替换。还考虑查看PrggRePoT(),并使用ReGEX搜索左侧或右侧替换。

echo $str = ltrim($mystring, $findme);