从角色的左侧剥离文本,以及该角色和空格

时间:2013-11-29 15:14:57

标签: php regex substr strstr

我有一个由get_the_title();(一个WordPress函数)生成的文本字符串,在文本中间有一个冒号:

即,what I want to strip in the title : what I want to keep in the title

我需要删除冒号左侧的文本,以及冒号本身和冒号右侧的单个空格。

我正在使用它来获取标题并将文本剥离到冒号左侧,

$mytitle = get_the_title();
$mytitle = strstr($mytitle,':'); 
echo $mytitle;

但我也试图用它来剥去冒号和它右边的空间

substr($mytitle(''), 2);

像这样:

$mytitle = get_the_title(); 
$mytitle = strstr($mytitle,':'); 
substr($mytitle(''), 2);
echo $mytitle;

但我收到了php错误。

是否有办法合并strstrsubstr

还是有另一种方式 - 也许是正则表达式(我不知道) - 将结果左边的所有东西都去掉,包括冒号和右边的单个空格?

3 个答案:

答案 0 :(得分:2)

正则表达式将是完美的:

$mytitle = preg_replace(
    '/^    # Start of string
    [^:]*  # Any number of characters except colon
    :      # colon
    [ ]    # space/x', 
    '', $mytitle);

或者,作为一个单行:

$mytitle = preg_replace('/^[^:]*: /', '', $mytitle);

答案 1 :(得分:1)

你可以这样做:

$mytitle = ltrim(explode(':', $mytitle, 2)[1]);

答案 2 :(得分:0)

$title = preg_replace("/^.+:\s/", "", "This can be stripped: But this is needed");