Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
url中的符号由php explode()读取为分号_Php_Explode_Html Encode - Fatal编程技术网

url中的符号由php explode()读取为分号

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

我希望允许我的用户在单个字段中创建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_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( '&amp;', '&', $cta_array[0]) );

这解决了问题。

我替换了
&爆炸前使用(&F)

$cta_array = explode( ';', str_replace( '&amp;', '&', $cta_array[0]) );

这解决了问题。

您是否尝试过更换&;使用分解前(&E)?
explode()
不会将符号转换为其html转义。那已经在那里了。您的
esc\u url()
函数做什么?@developerwjk谢谢,这解决了问题。您是否尝试过替换&;使用分解前(&E)?
explode()
不会将符号转换为其html转义。那已经在那里了。您的
esc\u url()
函数做什么?@developerwjk谢谢,这解决了问题。Hi只替换了&;中的分号;到|@上面的developerwk注释解决了这个问题;到|@上面的developerjk注释解决了这个问题。