如何在最后一个“-”之后回显所有不带文本的_title()

时间:2018-08-22 作者:kibus90

我正在尝试做一些事情,但我有问题。。。

我不会显示我的帖子列表,但我想从所有标题中删除最后“-”(破折号)之后的文本

我的帖子列表:

我的经历-这个男孩-第一天-遇见我的爱人-我不知道-第二天-我的第一次-奥乌-第三次-我想回报你:

我的经历-这个男孩-第一天我的爱人-我不知道我的第一次我试过:

<?php $stringx = get_the_title();
echo preg_replace(\'/-[^-]*$/\', \'\', $stringx); ?> 
但是这个返回全文。。。用破折号。。。。

我也试过这个:

https://stackoverflow.com/questions/12042170/get-the-characters-before-the-last-dash

有人可以帮助我如何在最后一个“-”之后输出没有文本的帖子标题?

2 个回复
最合适的回答,由SO网友:C C 整理而成

这实际上是一个PHP问题,与其说是一个WP问题,不如说是一个PHP问题,但:

echo substr($stringx,0,strrpos($stringx,\'-\'));
此外,我认为您的示例#3是错误的,除非在某些情况下,您希望排除的不仅仅是在最后一个破折号字符之后。

注意-如果要同时排除该最终空格和紧跟其后的最终破折号,请将substr长度更改为-1以避免最终空格:

echo substr($stringx,0,strrpos($stringx,\'-\')-1);

SO网友:kibus90

我发现问题出在哪里。。。

https://codex.wordpress.org/Function_Reference/wptexturize

每个短划线(短划线)都在变长划线

我只是通过添加到函数对标题进行wptexturize。php此代码:

remove_filter(\'the_title\', \'wptexturize\');
而且效果很好。但我怎样才能完成长跑呢?我不知道。。。但我希望这会对将来的人有所帮助。

结束