如何使用preg_replace隐藏标题的一部分

时间:2014-01-17 19:56:41

标签: php wordpress

我试过解释这个,但我认为没有人理解,

我有很多不同的标题,我正在尝试做的是,摆脱标题中的每个"Lyrics"字,以及"-"之前出现的所有内容符号

我设法用istr_replace

做歌词部分
<?php echo str_ireplace('lyrics', '', get_the_title()); ?>

我该如何处理第二部分,我可以将哪些代码应用于代码呢?

我想要它做的例子:

  

“随机标题 - 更多随机标题歌词”转为“更随机的标题”

应用的代码会删除我网站上每个标题的"random title - "

我以前是有人在这里给的,如果这会有帮助的话,请点击

$string = preg_replace("/[^-]+-(.*) Lyrics/", "$1", $string);

1 个答案:

答案 0 :(得分:0)

如果你试图在一个正则表达式中完成所有操作,那可能会要求太多。为什么不把它分成两步:通过 - (和空格)

删除所有内容
$string = preg_replace('/^[^-]*-\s*/, '', $string);

然后删除第一个“歌词”(不区分大小写),如果有的话

$string = preg_replace('/lyrics/i', '', $string);

这可能会变得更复杂 - 如果没有或有多个连字符,如果没有或多个“歌词”怎么办,你想对连字符和“歌词”后的空格或标点符号做什么,可以“歌词”是另一个词的一部分,“歌词”的任意大写等等呢?在所有这些情况下,您需要确保它按预期工作。