目前,当我爆炸标题示例艺术家 - 示例歌曲名称[CDQ] 时,我能够获得示例艺术家和示例歌曲名称使用下面的代码没有任何问题。
$title = htmlentities(get_the_title ());
$str = explode ("–", $title);
$artist = $str[0];
$song = $str[1];
现在我正在尝试删除标题的 [CDQ] 部分,但它必须是括号和括号内的内容,因为有时标题包含 [的iTunes]
我目前正在使用WordPress。
答案 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]);
它会匹配a
到Z
的所有字母,包括括号。
如果你有可能在括号内有数字,你可以改为:
$song = preg_replace('#\[[a-zA-Z0-9].*\]#','',$str[1]);