I have a string <?php $linktitle = get_the_title();?> that stores the title of the post. The string has a title like this:
If Your Wi-Fi Is Terrible, Check Your Router – The New York Times
How can I remove everything before and including the –? I'm using: <?php echo strstr($linktitle, '–'); ?> and it outputs:
– The New York Times
Try using preg_replace:
preg_replace("/.+?( –)/", '', $linktitle)
If you want to remove the whitespace after the - too:
preg_replace("/.+?( –)\s*/", '', $linktitle)
This uses regular expression to match a pattern defined by any character except newline 1 or more times (.+), until it meets (?) a space followed by a dash (( –)), then a whitespace (\s) 0 or more times (*). Preg_replace then replaces the matched pattern with an empty string.
I hope you need output like
– The New York Times
from
If Your Wi-Fi Is Terrible, Check Your Router – The New York Times
so try to use it may help you ,
$linktitle = "If Your Wi-Fi Is Terrible, Check Your Router – The New York Times";
echo substr($linktitle,strrpos($linktitle,'–'));
EDIT :
If you need to remove the "–" too . use this ,
$linktitle = "If Your Wi-Fi Is Terrible, Check Your Router – The New York Times";
$specCharLen = strlen(htmlentities("–"));
echo substr($linktitle,strrpos($linktitle,'–')+$specCharLen);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With