如何从段落中删除一个单词及之后的单词?
e。g:
如何从字符串中删除这个(测试)单词之后的所有文本?
ABC DEF GHEE JUL *test MON ...*
我想删除test MON… from my string
和
ABC DEF GHEE JUL
谢谢
可以轻松拆分
$string = "ABC DEF GHEE JUL test MON";
$splitted = explode("test", $string);
$result = $splitted[0]; //ABC DEF GHEE JUL
最简单的方法是:
$result = substr($string, 0, strpos($string, 'test'));
您可以创建函数并在以后重用它们,如:
$test1=removeAfterFirst("ABC DEF GHEE JUL test MON ...","test ");
// $test1 is "ABC DEF GHEE JUL "
$test2=removeAfterLast("ABC DEF ABC GHE","ABC");
// $test2 is "ABC DEF "
功能:
public static function removeAfterFirst($text,$value)
{
$firstOccurence=strpos($text,$value);
if($firstOccurence===false)
return $text;
return substr($text,0,$firstOccurence);
}
public static function removeAfterLast($text,$value)
{
$lastOccurence=strrpos($text,$value);
if($lastOccurence===false)
return $text;
return substr($text,0,$lastOccurence);
}
您可以尝试这样做:
<?php
$string = "ABC DEF GHEE JUL test MON ...";
$clean1 = preg_replace("#('s[a-z]+?).+$#", "", $string);
var_dump($clean1); //<== YIELDS: string 'ABC DEF GHEE JUL' (length=16)