PHP 的explode() 不适用于连字符减号 -

问题描述 投票:0回答:3

我尝试在从数据库获取的字符串上使用

explode()
,但它不起作用。我已经尝试过
explode('-',$string)
但还是不行。

这是我要爆炸的字符串:

表达兴趣 – 加入我们的油漆团队 – North

php wordpress special-characters explode
3个回答
5
投票

如果仔细观察,字符串中的连字符与用作爆炸参数的连字符不同。

字符串中的连字符如下

,而作为
explode()
参数传递的连字符是
-
。正如您所看到的,它们不匹配(字符串中的字符串比您尝试比较的字符串长)。由于字符不匹配,爆炸函数将返回整个字符串。

<?php

$string = "Expression of Interest – Join our Paint Team – North";
$strings = explode('–', $string);

var_dump($strings);

我从文本中复制了连字符,并将其用作

explode()
的参数,效果很好。


0
投票

可能

$string
不是字符串,您可以使用
strval( $string )
将其转换为字符串,即
explode('–', strval ( $string ) );

$eString = explode('–', strval ( $string ) );
// vardump($eString) - Now it is an array.
// echo $eString[0];

0
投票

我已经通过尝试解决了这个问题

$post_job_title = htmlentities(get_the_title($posts));

$post_job_title = 爆炸(" – ", $post_job_title);

© www.soinside.com 2019 - 2024. All rights reserved.