假设我在wordpress中有一个标题列表。项目名称- (USA)
我想只返回项目名称,所以-
之后的所有内容都不返回。
一个问题是,当我使用下面的代码时,并不是我列表中的所有标题都有-
和那些不返回空白的标题:
$str = get_the_title();
$str = substr($str, 0, strpos($str, '-'));
echo $str;
任何想法我如何得到它不返回空白的标题,没有连字符-
?
正则表达式方式
使用preg_replace(),然后只使用trim()。
$string = 'Item Name - (USA)';
var_dump(trim(preg_replace('~-.*$~', null, $string)));
的回报:
string(9) "Item Name"
解释:
preg_replace('~-.*$~', null, $string)
捕获从第一个-
到字符串末尾的所有字符,并用null
替换trim($string)
并去掉字符串两边的空白字符
非正则表达式方式
使用explosion()和reset()来分割字符串并从结果数组中获得第一个成员,然后trim()它。
$string = 'Item Name - (USA)';
var_dump(trim(reset(explode("-", $string))));
的回报:
string(9) "Item Name"