如何检查标题中是否有标签

时间:2015-06-15 作者:Tcmxc

我有很多贴子都有多个标签,例如:AMOS LEE, FOO FIGHTERS,TAYLOR SWIFT

帖子标题中只有一个标签,例如:“The Man Who Wants You” – Amos Lee

如何扫描\\u title(),遍历标记并将匹配的标记存储在变量中?

我试过了

 <?php
 $id = get_the_title();
 $posttags = get_the_tags();
 if ($posttags) {
 foreach($posttags as $tag) {
     $tag = $tag->name . \'<br>\';
  }
 }

 if (stripos($id,$tag) !== false) {
    echo \'true<br>\';
 }else{
    echo \'false\';
 }
?>

2 个回复
最合适的回答,由SO网友:James Barrett 整理而成

把这个放在你的循环中:

<?php
$title = get_the_title();
$posttags = get_the_tags();

if( $title && $posttags ) {
  $result = find_tag_in_title( $title, $posttags );
  var_dump( $result ); // dump result
}
?>
把这个放在你的函数中。php文件:

<?php
function find_tag_in_title( $title, $posttags ) {

  foreach( $posttags as $tag ){
    if( strpos( strtolower($title), strtolower($tag->name) ) !== false ) return $tag->name;
  }

return false;    
}
?>

SO网友:Domain

代码中的小更改:

//$id = get_the_title();
$title = \'"The Man Who Wants You" – Amos Lee\';
//$posttags = get_the_tags();
$posttags     = array(\'AMOS LEE\', \'FOO FIGHTERS\', \'TAYLOR SWIFT\');
$matched_tags = array();
if ($posttags) {
    foreach ($posttags as $tag) {
        if (stripos($title, $tag) !== false) {
            array_push($matched_tags, $tag);
        }
    }
}
print_r($matched_tags);
输出:匹配的标签

Array
(
    [0] => AMOS LEE
)

结束

相关推荐

Nginx-与URL中的.php进行的固定链接不起作用

我正在将一个站点从Apache服务器移动到nginx服务器。很多页面都有一个。permalink末尾的php扩展。尝试查看这些页面会导致找不到nginx 404。然而,这些页面在Apache上运行良好。以下是站点的服务器块配置:# Vhost Config: example.com server { root /var/www/vhosts/sites/www.example.com/web; index index.php index.html ind