Php 将两个字符串与Wordpress中的strpos进行比较。非字母字符会导致它失败吗?

Php 将两个字符串与Wordpress中的strpos进行比较。非字母字符会导致它失败吗?,php,wordpress,string,strpos,Php,Wordpress,String,Strpos,我只是想比较两个字符串,看看它们是否完全匹配。如果匹配,我将输出一个列表。一个字符串是来自Wordpress的文章(自定义文章类型)的标题,使用get_the_title()。另一个字符串是Wordpress中的一个类别。我使用get_categories(),然后使用foreach语句并使用$category->name 你可以在这个网站上看到,对于一些网络研讨会来说,它运行良好,并且显示了列表。但对于任何标题中带有破折号和/或符号的网络研讨会,它都不起作用 在比较字符串之前,我尝试过使用h

我只是想比较两个字符串,看看它们是否完全匹配。如果匹配,我将输出一个列表。一个字符串是来自Wordpress的文章(自定义文章类型)的标题,使用get_the_title()。另一个字符串是Wordpress中的一个类别。我使用get_categories(),然后使用foreach语句并使用$category->name

你可以在这个网站上看到,对于一些网络研讨会来说,它运行良好,并且显示了列表。但对于任何标题中带有破折号和/或符号的网络研讨会,它都不起作用

在比较字符串之前,我尝试过使用htmlentities(),但它没有改变任何东西。下面是我如何进行比较的:

foreach ( $categories as $category ) {
    if(strpos(get_the_title(), $category->name) !== false) {
        //run code here
    }
}
是否有更好/更简单的方法来简单地比较两个字符串以查看它们是否匹配

如果不是,为什么破折号或符号会导致strpos()函数失败?理论上,针和干草堆变量可以是任意顺序,因为它在另一个完整字符串中查找完整字符串

最后,你可以在我们的Wordpress中看到没有问题,看看这张图片。文章的标题与文章的类别完全匹配。这就是我想要比较的。

您可以设置它们的slug并比较它们,这是一种更简单、更安全的方法。

查看完整的字符串(没有任何HTML解码),看看其中一个是否已编码。这对我来说很有效。需要一点时间来确保所有的鼻涕虫都是一样的,但一旦它们都是一样的,就没有问题了。我甚至不必再使用strpos(),我可以用==来比较。谢谢