我正在使用我的Wordpress博客,并且需要获取帖子的标题并将其拆分为“ - ”。事实是,它不起作用,因为在源中它& ndash当我在网站上看结果时,它是一个“长减号”( - )。将这个长的负数复制并粘贴到某个编辑器中会使其成为正常的减号( - )。我不能分开“ - ”而不是& ndash,但不知何故它必须是可能的。当我创建文章时,我只输入“ - ”(减号),但在某处它会自动转换为 -
有什么想法吗?
谢谢!
答案 0 :(得分:1)
我想我找到了它。我记得我遇到过类似的问题,当我在帖子中粘贴代码时,引号标记会在向读者显示时转换为em-quad。
我发现是在/wp-include/formatting.php第56行(wordpress ver 3.3.1),它定义了一些需要替换的字符
$static_characters = array_merge( array('---', ' -- ', '--', ' - ', 'xn–', '...', '``', '\'\'', ' (tm)'), $cockney );
$static_replacements = array_merge( array($em_dash, ' ' . $em_dash . ' ', $en_dash, ' ' . $en_dash . ' ', 'xn--', '…', $opening_quote, $closing_quote, ' ™'), $cockneyreplace );
并在第85行进行替换
// This is not a tag, nor is the texturization disabled static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
答案 1 :(得分:0)
如果要将字符串拆分为“ - ”字符,基本上必须用空格替换“ - ”。
试试这个:
$string_to_be_stripped = "my-word-test";
$chars = array('-');
$new_string = str_replace($chars, ' ', $string_to_be_stripped);
echo $new_string;
这些行将字符串拆分为“ - ”。例如,如果你有my-word-test,它将回显“我的单词测试”。我希望它有所帮助。
有关str_replace函数的更多信息,请单击here。
如果您想以WordPress风格执行此操作,请尝试使用filters。我建议将这些行放在你的functions.php文件中:
add_filter('the_title', function($title) {
$string_to_be_stripped = $title;
$chars = array('-');
$new_string = str_replace($chars, ' ', $string_to_be_stripped);
return $new_string;
})
现在,每次在循环中使用the_title时,标题都将被转义。