PHP字符串替换为字符串结尾

时间:2014-12-23 13:06:46

标签: php string

我需要将一些字符串替换为字符串的结尾或者在他得到字符串时剪切字符串&#34 ;;"登录?

我正在尝试,但它不起作用:

$string = "Hello World; lorem ipsum dolor";
$string = str_replace(";","\0",$string);
echo $string; //I want the result is "Hello World"

4 个答案:

答案 0 :(得分:4)

这应该适合你:

<?php

    $string = "Hello World; lorem ipsum dolor";
    echo $string = substr($string, 0, strpos($string, ";"));

?>

输出:

Hello World

答案 1 :(得分:3)

您需要使用;拆分字符串并从返回的数组中获取第一个元素(它始终至少有一个条目)。

echo explode(';', $string, 2)[0];

explode()

答案 2 :(得分:2)

从#34;&#34;切断剩下的部分来自http://php.net/manual/de/function.strpos.php

的strpos
echo substr($string, 0, strpos($string, ";"));

答案 3 :(得分:2)

我可以看到两种方法,但最后它们非常相似:

更换零件

当你在问题中使用str_replace并在那里放一个NUL字节来结束一个字符串(比如可能在C中),你可能正在寻找的是substr_replace:< / p>

$string = "Hello World; lorem ipsum dolor";
$pos    = strpos($string, ";");
if ($pos !== FALSE) {
    $string = substr_replace($string, "", $pos);
}
var_dump($string); // string(11) "Hello World"

提取部分

这是大多数其他答案的建议。这里甚至是另一个替代功能,您可能正在寻找strstr() function:     $ result = strstr($ string,&#34 ;;&#34;,true);

第三个参数设置为true的函数调用将返回所有$string,直到针(第二个参数)&#34; ;&#34;找到(不包括)。

完整示例:

$string = "Hello World; lorem ipsum dolor";
$result = strstr($string, ";", true);
var_dump($result); // string(11) "Hello World"

取决于&#34; ;&#34;&#34; $result = strstr("$string;", ";", true); &#34;是部分或不是字符串的一部分,如果要返回完整的字符串,则需要添加一次所需的内容:

FALSE

如果您使用strpos()进行操作,则类似,您也必须处理{{1}}案例。