Php 查找字符串,然后在字符之间查找字符串
我很难接受这个 因此,我有大量的文本:Php 查找字符串,然后在字符之间查找字符串,php,Php,我很难接受这个 因此,我有大量的文本: a:13:{s:9:"live_odds";i:0;s:14:"show_matchbook";i:0;s:12:"show_betfred";i:1;s:16:"show_williamhill";i:1;s:12:"betfair_show";i:1;s:16:"betfair_username";N;s:16:"betfair_password";s:9:"";s:20:"betfair_affiliate_id";s:3:"888"; 现在,我要
a:13:{s:9:"live_odds";i:0;s:14:"show_matchbook";i:0;s:12:"show_betfred";i:1;s:16:"show_williamhill";i:1;s:12:"betfair_show";i:1;s:16:"betfair_username";N;s:16:"betfair_password";s:9:"";s:20:"betfair_affiliate_id";s:3:"888";
现在,我要做的是在大量文本中搜索betfair\u affiliate\u id;s:3:,然后在语音标记之间显示文本
我在努力
$betfred_show = 'betfair_affiliate_id";s:3:"';
$betfred_show_value = substr($string, strpos($string, $betfred_show) + strlen($betfred_show), 3);
这确实有效,它带回了888,但它不是未来的证明,因为它只得到了后面的3位数字。然而,这些数字可能会变成4或5位
有什么建议吗?这是一个序列化的数组。您只需简单地将其删除并访问密钥即可
$array = unserialize($input);
$output = $array['betfair_affiliate_id'];
这是一个序列化数组。您可以简单地对其进行排序并访问密钥
$array = unserialize($input);
$output = $array['betfair_affiliate_id'];
听说过regex吗?数据的来源是什么?它隐约类似于JSON,但不太像。@TimBiegeleisen它是序列化数据(PHP原生)。在这种情况下,它是一个序列化的数组。这看起来像是一个php序列化的数组…对它进行反序列化并使用实际的数组元素而不是对序列化的二进制数据执行字符串操作不是更有意义吗?如果它真的只是提取单个位,那么正则表达式可能是一个选项。
~:“key”;s:\d+(\d+)~
,尽管对类型变化的弹性较小。听说过正则表达式吗?您的数据来源是什么?它有点像JSON,但不完全像。@TimBiegeleisen它是序列化数据(PHP原生)。在本例中,它是一个序列化数组,看起来像php序列化数组。。。将其反序列化并使用实际数组元素而不是对序列化的二进制数据执行字符串操作不是更有意义吗?如果它实际上只是提取单个位,那么正则表达式可能是一个选项<代码>~:“键”;s:\d+“(\d+)~,尽管对类型变化的弹性较低。不起作用@Mohammad OP提供了截断的输入文本。太棒了,正是我想做的。不起作用@Mohammad OP提供了截断的输入文本。太棒了,正是我想做的。