url中的符号由php explode()读取为分号
我希望允许我的用户在单个字段中创建url链接和标签,如: 现在注册;www.abc123.com 或者只是 www.abc123.com 我的代码如下所示:url中的符号由php explode()读取为分号,php,explode,html-encode,Php,Explode,Html Encode,我希望允许我的用户在单个字段中创建url链接和标签,如: 现在注册;www.abc123.com 或者只是 www.abc123.com 我的代码如下所示: $cta_array = explode(";", $field ) ; if( count( $cta_array ) > 1 ){ $cta = '<a href="'.esc_url( $cta_array[1] ).'" class="button '.$color.'">'.esc_html( $cta_a
$cta_array = explode(";", $field ) ;
if( count( $cta_array ) > 1 ){
$cta = '<a href="'.esc_url( $cta_array[1] ).'" class="button '.$color.'">'.esc_html( $cta_array[0] ).'</a>';
}
else{
$cta = '<a href="'.esc_url( $field ).'" class="button '.$color.'">Select</a>';
}
return $cta;
(
[0]=>立即预订
[1] => ;
[2] =>俱乐部=272
)
我认为这是将“&”转换为
&
和分号用作分隔符,但我不确定如何修复它。请您的用户使用其他分隔符,如逗号。
或以编程方式更改分隔符
$cta_array = explode(“|”, str_replace(‘;’,’|’,$field));
要求用户使用其他分隔符,如逗号。 或以编程方式更改分隔符
$cta_array = explode(“|”, str_replace(‘;’,’|’,$field));
我替换了
&代码>爆炸前使用(&F)
$cta_array = explode( ';', str_replace( '&', '&', $cta_array[0]) );
这解决了问题。我替换了&代码>爆炸前使用(&F)
$cta_array = explode( ';', str_replace( '&', '&', $cta_array[0]) );
这解决了问题。您是否尝试过更换&;使用分解前(&E)?explode()
不会将符号转换为其html转义。那已经在那里了。您的esc\u url()
函数做什么?@developerwjk谢谢,这解决了问题。您是否尝试过替换&;使用分解前(&E)?explode()
不会将符号转换为其html转义。那已经在那里了。您的esc\u url()
函数做什么?@developerwjk谢谢,这解决了问题。Hi只替换了&;中的分号;到|@上面的developerwk注释解决了这个问题;到|@上面的developerjk注释解决了这个问题。