爆炸标题并完全删除部分

时间:2015-12-02 06:07:43

标签: php wordpress

目前,当我爆炸标题示例艺术家 - 示例歌曲名称[CDQ] 时,我能够获得示例艺术家示例歌曲名称使用下面的代码没有任何问题。

$title = htmlentities(get_the_title ());
$str = explode ("–", $title);
$artist = $str[0];
$song = $str[1];

现在我正在尝试删除标题的 [CDQ] 部分,但它必须是括号和括号内的内容,因为有时标题包含 [的iTunes]

我目前正在使用WordPress。

2 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式来实现您想要的所有内容:

preg_match_all('/([^-]*)-([^[]*)/s', $subject, $result, REG_PATTERN_ORDER);
$artist = trim($result[1]);
$songtitle= trim($result[2]);

答案 1 :(得分:0)

使用preg_replace替换方括号中的字符串。

$title = htmlentities(get_the_title ());
$str = explode ("–", $title);
$artist = $str[0];
$song = preg_replace('#\[[a-zA-Z].*\]#','',$str[1]);

它会匹配aZ的所有字母,包括括号。

如果你有可能在括号内有数字,你可以改为:

$song = preg_replace('#\[[a-zA-Z0-9].*\]#','',$str[1]);