字符串API非硬编码值的问题

时间:2015-08-03 19:57:04

标签: php wordpress

我正在尝试给API调用一个字符串值来查找列表。我有以下代码:

$network_name = get_option('blogname');
$list_name = $network_name.' '.$cat_name;
echo "the list name is: ".$list_name;
$filters['list_name'] = $list_name;
$listid = $api->lists->getList( $filters );

当我回显$list_name值时,它看起来不错,但不会从api调用中返回任何结果。但是,如果我使用以下代码:

$list_name = 'School Soccer News & Notifications';
$filters['list_name'] = $list_name;
$listid = $api->lists->getList( $filters );

我得到了一个结果。硬编码值与我动态计算列表名称时完全相同。为什么会这样?

更新:这是两者的输出:

The list name is: School Soccer News & Notifications
The list name is: School Soccer News & Notifications

它们完全相同。

编辑:我做了字符串比较,这是代码:

$cat = get_the_category( $post_ID );
$cat_name = $cat[0]->name;
$network_name = get_option('blogname');
$list_name = $network_name.' '.$cat_name;
$list_name_concate = $list_name;
$list_name = 'School Soccer News & Notifications';
$string_comaprison = strcmp( $list_name_concate, $list_name );

我在$string_comaprison上得到1的结果,所以我猜他们不一样。

我也做了一个var_dump,结果如下:

string(38) "School Soccer News & Notifications" 
string(34) "School Soccer News & Notifications"

数据库正在将News & Notifications存储为News & Notifications,这导致了问题。

1 个答案:

答案 0 :(得分:1)

要从HTML格式转换为普通字符串格式,有一个函数

$list_name=htmlspecialchars_decode($list_name)

尝试一下,它应该可行