我有一个由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错误。
是否有办法合并strstr
和substr
?
还是有另一种方式 - 也许是正则表达式(我不知道) - 将结果左边的所有东西都去掉,包括冒号和右边的单个空格?
答案 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");