如何仅在此字符串上选择第一个单词

时间:2017-02-28 15:59:08

标签: php select filter

我有一些当前正在运行并返回位置变量的代码。 我怎么做它所以只需要变量的第一个字? 目前它正在返回例如“因弗内斯,高地” 我希望它只返回“因弗内斯”。

<?php 
echo apply_filters( 
    "adverts_tpl_single_location", 
    esc_html( get_post_meta( $post_id, "adverts_location", true ) ), 
    $post_id ) 
?>

3 个答案:

答案 0 :(得分:1)

您可以使用正则表达式来选择字符串的第一个字母数字字符。

例如:

$firstword = preg_replace('/^([\d\w]+).*?$/', '$1', 'Inverness, Highland');

您可以在此处查看正则表达式:http://regexr.com/3fe20

答案 1 :(得分:1)

您可以使用explode()

$all_locations = apply_filters( 
    "adverts_tpl_single_location", 
    esc_html( get_post_meta( $post_id, "adverts_location", true ) ), 
    $post_id );
$locations = explode(',', $all_locations); // since the list is comma separated
echo $locations[0]; // should be 'Inverness' 

答案 2 :(得分:0)

您还可以使用strtok()仅获取字符串的第一个单词。请注意,我将空格和逗号作为可能的分隔符包含在内。

$firstWord = strtok('Inverness, Highland', ' ,');