删除特定符号前后的字符

Gre*_*ltz 10 php string

我有一个字符串<?php $linktitle = get_the_title();?>存储帖子的标题.该字符串的标题如下:

如果您的Wi-Fi很糟糕,请检查您的路由器 - 纽约时报

如何删除之前和之后的所有内容?我正在使用:<?php echo strstr($linktitle, '&#8211;'); ?>它输出:

- 纽约时报

rdi*_*diz 11

尝试使用preg_replace:

preg_replace("/.+?( –)/", '', $linktitle)
Run Code Online (Sandbox Code Playgroud)

如果你想删除之后的空格-:

preg_replace("/.+?( –)\s*/", '', $linktitle)
Run Code Online (Sandbox Code Playgroud)

这使用正则表达式来匹配除换行符1或更多次(.+)之外的任何字符定义的模式,直到它遇到(?)一个空格后跟一个破折号(( –)),然后是一个空格(\s)0次或更多次(*).然后,Preg_replace用空字符串替换匹配的模式.