I want to remove some text from my title (using wordpress). Example: Alexandra Stan - Mr. Saxobeat Output: Mr. Saxobeat
I tried many codes, one of this work perfect:
$str = "this comes before – this comes after";
$char = " - ";
$strpos = strpos($str, $char);
$str = substr($str, $strpos+strlen($char));
echo $str;
but after many times of trying and get upsed... i see that in my wordpress article page, when i type "-" in title, wordpress change it automatically with: "–" who is different (bigger) than normal one "-" (copy in another font and you will see the difference).
I try replace "-" with "–" but output is " s comes before - this comes after "
Thanks!
That's an em dash you're trying to replace. However, you're looking for a regular dash. Try running the string through this mess of code first and reading the blog article I got it from
EDIT
A complete working example, basically pasting the example code from the blog article and fixing a small mistake with your substr
function scrub_bogus_chars(&$text) {
// First, replace UTF-8 characters.
$text = str_replace(
array("\xe2\x80\x98", "\xe2\x80\x99", "\xe2\x80\x9c", "\xe2\x80\x9d", "\xe2\x80\x93", "\xe2\x80\x94", "\xe2\x80\xa6"),
array("'", "'", '"', '"', '-', '--', '...'),
$text);
// Next, replace their Windows-1252 equivalents.
$text = str_replace(
array(chr(145), chr(146), chr(147), chr(148), chr(150), chr(151), chr(133)),
array("'", "'", '"', '"', '-', '--', '...'),
$text);
}
// Original string (with em dash)
$text = "this comes before – this comes after";
// Ensure regular dashes will be available
scrub_bogus_chars($text);
// Lastly, extract the interesting part of the original string
$char = ' - ';
$strpos = strpos($text, $char);
$text = substr($text, $strpos + strlen($char));
echo $text . PHP_EOL;