URL字符串中的HTML特殊字符

时间:2021-05-31 作者:JoaMika

我正在使用此代码转换& 但它不工作。输出以重力形式传递给字段。

<a href="/enquiry/?event=<?php $urlst=get_field(\'fl_name\');htmlspecialchars($urlst, ENT_QUOTES);echo $urlst; ?>">Make a request</a>
如果我有fl_name= Music & TV Shows 然后在我的重力形式输出中,我只看到Music

1 个回复
SO网友:Paul G.

这里最好的做法是使用WordPress为您提供的工具来构建URL。

在这个解决方案中,您将构建一个包含键和值的URL参数数组,然后您将;“附加”;这些参数将使用add_query_arg.

您可以对所有URL重复使用此方法,只需添加/调整$parameters 数组,以及URL。

$parameters = [
    \'event\' => get_field( \'fl_name\' ),
];

$final_url = add_query_arg( $parameters, site_url( \'/enquiry/\' ) );
然后简单地重复您的$final_url 无论您在哪里需要它:

<a href="<?php echo $final_url; ?>">Make a request</a>
所有这些的一行程序版本是:

<a href="<?php echo add_query_arg( [ \'event\' => get_field( \'fl_name\' ) ], site_url( \'/enquiry/\' ) ) ;?>">Make a request</a>